Linux: definiowanie crontab dla innego użytkownika

14-sty-2023

Cron pozwala na automatyzację zadań na systemie Linux. Czasami chcemy aby te automaty działały na wybranym koncie, bo to konto ma już zdefiniowane odpowiednie dostępy, alebo też dlatego, że automatycznie uruchamiany skrypt będzie tworzył pliki, katalogi, do ktorych tylko ot konto powinno mieć dostęp.

W takim przypadku może się przydać zaplanowanie zadań do wykonania dla innego użytkownika.

Tak oto uruchomisz polecenie pozwalające edytować harmonogram zadań dla użytkownika:

crobtab -e -u redis

Jak tylko uruchomi się edytor wprowadź definicję polecenia, które ma się regularnie uruchamiać. Np aby co minutę zapisać aktualną datę w pliku użyj takiej linijki:

*/1 * * * * date >> /tmp/my_date.txt

Po zapisaniu definicji, możesz skontrolować, czy wszystko jest ok:

crontab -l -u redis

Co ciekawe, zadania w crontab można definiować nawet jeśli wybrany użytkownik używa shella nologin!

Dodajmy jeszcze, że ewentualne sprawdzenie działania crona można wykonać uruchamiając

grep CRON /var/log/syslog

Komentarze są wyłączone

Autor: Rafał Kraik