Rozważmy skomplikowany crontab z +100 wierszami, w którym wiele skryptów jest uruchamianych później do ankiety i amp; przetwarzać wiadomości od różnych klientów.
Po ponownym uruchomieniu serwera uruchamiam natychmiast kilka skryptów najważniejszych klientów (kopiuj / wklej).
Jednak jednokreskowy proces przetwarzania wszystkich wpisów crontab znacznie by pomógł.
Wszystkie skrypty znajdują się w / opt /, więc wszystkie linie wyglądają tak:
m h dom mon dow /opt/XXXXXX/YYYYY/ZZZZZ.sh >/dev/null 2>&1
Wm, h & amp; dow "/" & amp; Czasami używane są także „-”, np. :
*/3 5-21 * * 1-5 /opt/XXXXXX/YYYYY/ZZZZZ.sh >/dev/null 2>&1
*/5 0-1,5-23 * * * /opt/XXXXXX/YYYYY/ZZZZZ.sh >/dev/null 2>&1
25 2 * * 7 /opt/XXXXXX/YYYYY/ZZZZZ.sh >/dev/null 2>&1
crontab -l | grep -v "#" | wc -l
129
T.I.A.
Jord
crontab -l | grep -v "#" | grep -o '/opt/.*$' | while read l; do eval $l && echo $l && sleep 2; done
Być może szukasz komenda run-parts , który pobiera katalog jako parametr i uruchamia każdy plik wykonywalny lub skrypt w tym katalogu.
Na przykład :
źródło
Stwórz skrypt, który to zrobi, a następnie skontaktuj się z nim
cron
jest@reboot
:Jeśli musisz powtarzać katalogi:
Masz tylko niektóre skrypty, które chcesz uruchomić, ale kilka z nich?
Zrób to dla każdego takiego skryptu:
Następnie zadzwoń do tego
cron
jest@reboot
:źródło