Her ikisi de cronve anacronyinelenen görevlerin kullanıcı tarafından tanımlanan belirli bir zamana kadar yürütülmesini zamanlayabilen cinlerdir.
Arasındaki temel fark, cronve anacronönceki sistem sürekli olarak çalışan olduğunu varsayar. Sisteminiz kapalıysa ve bu süre içinde planlanmış bir işiniz varsa, iş asla yürütülmez.
Öte yandan anacron'anakronistik'tir ve 7 gün 24 saat çalışmayan sistemler için tasarlanmıştır. Çalışması anacroniçin, komutlarının en son ne zaman yürütüldüğünü öğrenmek için zaman damgalı dosyalar kullanır. Aynı dosyayı /etc/anacrontabolduğu gibi korur cron. Ayrıca, cron.dailyher gün anacron çalışır. Bu nedenle, anacrongünde sadece bir kez bir iş cronyürütebilir , ancak her dakika kadar sık çalışabilir.
Gönderen man anacrontab:
Anacron yürütüldüğünde, normalde / etc / anacrontab olan bir yapılandırma dosyasından işlerin listesini okur (bkz. Anacrontab (5)). Bu dosya, Anacron'un kontrol ettiği işlerin listesini içerir. Her iş girişi gün olarak bir süre, dakika cinsinden bir gecikme, benzersiz bir iş tanımlayıcısı ve bir kabuk komutu belirtir.
Her iş için Anacron, bu işin son n günde gerçekleştirilip gerçekleştirilmediğini kontrol eder; burada n, o iş için belirtilen süredir. Değilse, Anacron, delay parametresi olarak belirtilen dakika sayısını bekledikten sonra işin shell komutunu çalıştırır.
Komut çıktıktan sonra, Anacron tarihi o iş için özel bir zaman damgası dosyasına kaydeder, böylece ne zaman tekrar yürütüleceğini bilebilir. Zaman hesaplamaları için yalnızca tarih kullanılır. Saat kullanılmıyor.
Bu, bir görevin günlük olarak çalışacak şekilde zamanlanması ve bilgisayarın bu süre içinde kapatılması durumunda, anacron çalıştırıldığında, görevin en son 24 saat önce çalıştırıldığını ve görevi doğru bir şekilde yürüttüğünü görebilir.
Örneğin, aşağıdakilerde aşağıdakileri belirtirseniz /etc/anacrontab:
7 15 test.daily /bin/sh /home/username/script.sh
ve script.shişin yürütülmesi gereken gün , sistem anacronçalışmazsa script.sh, sistem geri geldikten 15 dakika sonra yürütülür .
Birkaç Referans: