web-dev-qa-db-fra.com

Récupérer les tâches cron supprimées accidentellement avec crontab -r

Je suis entré crontab -r au lieu de crontab -e et tous mes travaux cron ont été supprimés.

Quelle est la meilleure façon (ou y en a-t-il une) de récupérer ces emplois?

70
Teerath Kumar

crontab -r supprime le seul fichier contenant les tâches cron.

Donc, si vous n'avez pas effectué de sauvegarde, vos seules options de récupération sont:

  • Sur RedHat/CentOS, si vos travaux ont déjà été déclenchés, vous pouvez trouver le journal cron dans /var/log/cron. Le fichier vous aidera à réécrire les travaux à nouveau.
  • Une autre option consiste à récupérer le fichier à l'aide d'un outil de récupération de fichier. Cependant, cela a moins de chances de réussir, car la partition système est généralement occupée et les secteurs correspondants ont probablement déjà été remplacés.
  • Sur Ubuntu/Debian, si votre tâche a déjà été exécutée, essayez grep CRON /var/log/syslog
55
hellodanylo

Si vous n'avez pas de /var/log/cron fichier, vous pouvez récupérer les commandes (mais pas les timings) à partir du syslog.

grep 'CRON.*(yourusername)' /var/log/syslog

vous pouvez alors déterminer la plupart des timings en regardant les horodatages.

22
Meow