Codziennie powtarza się jakieś czynności, niektóre są “trochę upierdliwe” aż do bólu.
Szczególnie gdy mamy “czarne pudełko”, którego za bardzo nie możemy ruszyć i co jakiś czas się zawiesza.
Robi się monotonie te same czynności co jakiś czas, ale od czego maszyna i czemu nie może tego robić sama.

Nie trzeba pisać wielkich programów, wystarczy bash i komendy:

  • pkill – zabija proces po nazwie
  • pgrep – wyszukuje procesy według wzorca używanego w pkill
  • sleep – czeka jakiś czas
  • find $DIR -mtime +7 -delete – kasuje pliki w katalogu które są starsze niż 7 dni

oraz pętelki:
przelatywanie przez wszystkie podkatalogi i pliki w katalogu i wykonywanie na nich akcji

1
2
3
4
5
6
7
for repository in $REPOS_BASE/*
do
    reposBase=`basename $repository`
    dateString=`date "+%F"`
 
.......
done

wieczna pętla, która ubija procesy i odpala je powtórnie i czeka XXX sekund żeby wystartować od nowa

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/bin/bash
while true
    do
    echo "Press [CTRL+C] to stop.."
    echo "Kill old Process ..."
 
    cd /usr/local/bin
    pkill -9 Process
    sleep 5
 
    echo "Run new process ..."
    /usr/local/bin/Process &
 
    sleep 1024
done