*nix sistemlerde Crontab kullanmazsak olmaz, bir görevi belirlediğiniz bir zaman yada zaman diliminde çalışmasını sağlar, çıktıları istediğiniz yere yönlendirebilirsiniz.
Crontab’ın düzenlenmesi işlemi
crontab -e
Crontab’da yapılacak olan işlerin listesi(mevcut listenin dökümü alınır)
crontab -l
Crontab’da işlerin kaldırılması(kullanıcının crontab dosyası kalıcı olarak silinir)
crontab -r
Yapılan değişikliklerin anında işleme alınması ve etkin olmaya başlaması için
systemctl restart cron
Crontab zamanlanmış görevlerin dosya biçimi (en sonda 2 boş satır bırakılacak)
.---------------- Dakika (0 - 59)
| .------------- Saat (0 - 23)
| | .---------- Ayın Günleri (1 - 31)
| | | .------- Ay (1 - 12)
| | | | .---- Haftanın Günleri (0 - 6) (Pazar=0 ya da 7)
| | | | |
* * * * * komut
Örnek bir zamanlanmış görev
0 0 * * * mertcan /home/mertcan/backup/script.sh
Komut çıktılarında uyarı gelmemesi için komut sonuna
>/dev/null 2>&1
Örnek Crontab Komutları
Her pazar saat 04:00
0 4 * * sun mertcan /home/mertcan/backup/script.sh
Her hafta saat 00:00
@weekly mertcan /home/mertcan/backup/script.sh
Saatlik
@hourly mertcan /home/mertcan/backup/script.sh
Her 5 dakikada bir
*/5 * * * * mertcan /home/mertcan/backup/script.sh
Her 6 saatte bir
0 */6 * * * mertcan /home/mertcan/backup/script.sh
Bu ve bunun gibi pek çok kuralı https://crontab.guru/ ve https://crontab-generator.org/ aracılığı ile çok kolay bir şekilde hazırlayabilirsiniz.