Jak ustawić zadanie CRON do uruchomienia skryptu powłoki?


Odpowiedzi:


60

Nie jest to właściwe dla skryptu ustawionego jako zadanie cron:

mkdir jh
cd jh 

Powinieneś podać pełną ścieżkę do jhkatalogu, w którym należy utworzyć katalog. Ponadto w tej ścieżce powinieneś mieć uprawnienia do tworzenia nowych plików / katalogów.

Na przykład skrypt powinien wyglądać następująco:

#!/bin/sh

mkdir /home/lucky/jh
cd /home/lucky/jh

Nie /usr/bin/shjest też właściwa ścieżka sh. Właściwa ścieżka to /bin/sh. Możesz to sprawdzić za pomocą whereis shpolecenia. Mimo to twoja praca crona powinna wyglądać następująco:

20 * * * * /home/lucky/myfile.sh

Nie zapomnij, aby skrypt był wykonywalny:

chmod +x /home/lucky/myfile.sh

Awsome, uratowałem mi życie :) Mój działa tak dobrze. 0 7 * * * / bin / sh /root/Scripts/command.sh> / dev / null 2> & 1
Louwki

5

Ścieżka, w której wydaje się, że tworzy to folder, to /. Jest tak, ponieważ crontabwymaga pełnej ścieżki do folderu i plików we wszystkich plikach, które wykonuje.

Tak więc ścieżka w pliku myfile.sh powinna być

mkdir <absolutePath>/jh

cd <absolutePath>/jh

20 * * * * /usr/bin/sh /home/lucky/myfile.shTa linia jest poprawna, ale powinieneś sprawdzić ścieżkę, aby sprawdzić, czy sh istnieje w / usr / bin / sh, czy nie (użyj, which shaby zobaczyć ścieżkę, w której istnieje sh; moja była / bin / sh)

Jeśli spieszysz się z pisaniem crontab, ten link zawiera całkiem dobre przykłady

http://www.thegeekstuff.com/2009/06/15-practical-crontab-examples/

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.