Każdy użytkownik ma swój własny crontab
.
Aby to zobaczyć, po prostu wpisz
crontab -l
i tak, dobrze to widziałeś, kiedy chcesz dodać, crontab
po prostu zrób
crontab -e
po raz pierwszy zostaniesz zapytany o edytor do użycia crontab
. Ponieważ jesteś początkującym, jak mówisz, polecam używać nano, jest to najprostszy edytor do użycia.
Sam crontab działa w ten sposób
MIN = Minute 0-60
HOUR = Hour [24-hour clock] 0-23
MDAY = Day of Month 1-31
MON = Month 1-12 OR jan,feb,mar,apr ...
DOW = Day of Week 0-6 OR sun,mon,tue,wed,thu,fri,sat
COMMAND = Command to be run Any valid command-line
Na przykład, aby uruchamiać zadanie co 15 minut tylko w poniedziałek, robisz to w ten sposób
*/15 * * * mon /home/me/yourscript.sh
i TAK, bardzo ważne jest, aby umieścić swoją cronjob w tabeli cront użytkownika, który ma wystarczające prawa do jej wykonania.
Więc jeśli twoim skryptem musi być root lub specjalny użytkownik, upewnij się, że wykonałeś su dla tego użytkownika i tam dodajesz cronjob.
Również bardzo ważne!
cronjob jest głupi! Tak, powiedziałem to. Zawsze upewnij się, że wprowadzasz pełną ŚCIEŻKĘ dla application/command/script
używanego, ponieważ crontab nie będzie działać z .bashrc
podobnym. Zawsze musisz upewnić się, że poinformujesz crona, gdzie może znaleźć pliki i katalogi.
Aby odpowiedzieć na pozostałe pytania:
Oczywiście będzie działać samodzielnie, po to jest. Ale musisz sprawdzić, czy koleżeństwo naprawdę to robi, czy czegoś brakuje. Na przykład zaloguj się do pliku dziennika, aby zobaczyć, czy to naprawdę działa.
I NIE, restart nie jest potrzebny. Ponowne uruchomienie w systemie Linux jest zwykle potrzebne tylko po zainstalowaniu nowego jądra. Aby go użyć, musisz zrestartować komputer. Prawie wszystko inne można zrobić bez ponownego uruchamiania systemu Linux. Oczywiście są wyjątki, ale ogólnie to stwierdzenie jest poprawne.
crontab -e
pozwala edytować crontab użytkownika bez sudo. Pliki crontab użytkownika znajdują się w/var/spool/cron/crontabs
katalogu, do którego nie można uzyskać dostępu bez zgody administratora (ale w taki sposób, że gdy cron porzuci uprawnienia, nadal będzie mógł je odczytać). Nawet jeśli używasz sudo do bezpośredniej edycji pliku, u góry zobaczysz duże ostrzeżenie: „NIE EDYTUJ TEGO PLIKU” - plik jest przeznaczony do edycji za pomocącrontab
polecenia, które korzysta z tymczasowej kopii,/tmp
a następnie instaluje to po zapisaniu.