Mengapa anacron tidak akan berjalan?

9

Saya memiliki sistem Ubuntu yang telah menginstal anacron. Namun saya cukup yakin itu tidak berjalan. Itu tidak menjalankan perintah di /etc/cron.daily untuk memutar file syslog (Saya menggunakan sysklog, yang memiliki metode log rotating sendiri, tidak menggunakan logrotate). Terakhir kali log diputar pada bulan Oktober 2009. /var/spool/anacron/cron.dailyada dan isinya 20091015. AFAIR kami mengalami pemadaman listrik saat itu, dan semuanya reboot.

Bagaimana saya bisa men-debug anacron? Bagaimana saya bisa melihat mengapa itu tidak berjalan? Naluri pertamaku adalah mencari /var/log/anacron, tapi itu tidak ada. Bagaimana saya bisa memperbaikinya agar berjalan kembali?

Rory
sumber

Jawaban:

5

Lihatlah yang berikut ini:

zgrep anacron /var/log/cron.log.{9..1}* /var/log/cron.log | less

Entri terakhir pada satu sistem untuk saya adalah 4 November 2008.

zgrep anacron /var/log/syslog.{9..1}* /var/log/syslog | less

Entri berkisar dari 28 Desember hingga 4 Januari untuk saya.

cat /etc/crontab

Anda akan melihat entri yang mirip dengan ini untuk harian, mingguan, dan bulanan:

25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )

Dan ini akan menunjukkan banyak file:

ls -l /etc/cron.{daily,weekly,monthly}

Dalam /etc/cron.dailysaya memiliki logrotate dan sysklogd.

Dan jika Anda melakukannya:

ps auxww | grep [c]ron

Anda harus melihat bahwa crondaemon sedang berjalan.

Jika kamu melakukan:

cat /etc/cron.daily/sysklogd

Anda akan melihat beberapa baris yang berakhir dengan || exit 0- periksa untuk memastikan bahwa file ada dan, untuk yang dengan test -xitu mereka dieksekusi. Beberapa dari mereka tidak menyukai saya karena saya menggunakan logrotate.

Periksa untuk melihat apakah syslogd sedang berjalan:

ps -C syslogd

Lihat apakah savelog ada dan dapat dieksekusi:

ls -l $(type -p savelog)

Hanya itu yang bisa saya pikirkan saat ini.

Dijeda sampai pemberitahuan lebih lanjut.
sumber
4
Plus ingat bahwa anacron pada dasarnya hanya konfigurasi untuk cron, jadi ini bukan daemon
LapTop006
10

Coba jalankan:

sudo run-parts --test /etc/cron.daily

Baris itu akan memberi tahu apakah skrip baru Anda termasuk yang "dikenali". Misalnya bisa jadi skrip memiliki nama yang salah, bendera exec hilang atau masalah izin dll.

Saya menemukan cara ini bahwa alat run-parts (digunakan oleh cron) tidak suka akhiran .sh

kjetildm
sumber
2

Saya memiliki ubunutu 8.04 vps (w / plesk) yang telah menginstal anacron, salah konfigurasi, dan tidak berjalan. apt-get instal ulang semua file yang relevan dibuat ulang.

Setelah itu, yang harus saya lakukan adalah menambahkan entri ke crontab setiap jam untuk menjalankan anacron dan membuatnya bekerja.

script yang saya masukkan ke cron.hourly / just

#!bin/bash
/path/to/anacron -s 

sumber
1

Coba mulai ulang layanan, apakah itu memberi Anda kesalahan?

PTman
sumber
0

Beberapa crons Linux terkelupas. Kami menggunakan cfengine untuk memulai kembali cron, dan cron untuk menonton cfengine untuk hal-hal penting misi. Hari-hari ini, tidak ada yang jatuh secara mencolok. Tidak seperti di 90-an ketika cron menabrak setiap hari :-)

Sannukka
sumber
0

Jika nama skrip di /etc/cron.{daily,weekly,monthly}/folder memiliki titik di dalamnya, sepertinya tidak mengeksekusi. Cobalah untuk mengubah nama menjadi sesuatu tanpa titik di dalamnya.

Weishaupt
sumber