Je me suis précipité et oublié le e en crontab -e
avant de toucher Enter.
Une invite est apparue, j'ai donc fermé avec Ctrl+ D, comme je quitte habituellement les invites de saisie.
Maintenant, sans avertissement, mon crontab entier est vide.
Pourquoi? Quelle logique a provoqué cela? Comment fermer les invites autres que Ctrl+ Dpour que rien ne soit enregistré?
Réponses:
Control+Cdans ce cas, abandonnera
crontab
et n'effacera pas les entrées crontab actuelles. Sinon, le bare-
est une indication courante sur Unix que l'entrée doit être lue à partir de l'entrée standard et Control+Dferme l'entrée standard, ce qui entraîne le fichier crontab vide, car rien n'a été injecté sur l'entrée standard.Une entrée utilisateur crontab le long des lignes de
peut aider contre de telles futures oopsies en fournissant une copie de sauvegarde des données crontab (ou vous pouvez vous déchaîner avec le contrôle de version, ou quelle que soit la complexité de la sauvegarde).
la source
Vous avez remplacé votre crontab par le contenu de stdin, qui était vide. C'est essentiellement la même chose que
crontab < /dev/null
.Appuyer sur Ctrl + C pourrait être une meilleure habitude.
Votre crontab est probablement parti. La sauvegarde pourrait être quelque part
/var/spool/cron
, mais je ne connais aucun démon cron qui gère les sauvegardes. Vous devez configurer des sauvegardes/var/spool/cron
si cela est important pour vous.la source