crontab
sem argumentos lê um arquivo crontab da entrada padrão. Por exemplo, você pode usar:
echo "* * * * * run-this-every-minute" | crontab
Depois de ter clobado o seu crontab (ou seja, crontab -l
não mostra nada), não há uma boa maneira de recuperá-lo.
No meu sistema (Ubuntu 11.04), os crontabs pessoais são armazenados em /var/spool/cron/crontabs/<USER>
- mas é isso que você derrotou, então isso não lhe trará nenhum benefício. (O caminho pode ser diferente no seu sistema.)
Eu vejo entradas em /var/log/syslog
para comandos executados por cron
; talvez você consiga reconstruir seu crontab a partir disso (ou o equivalente do seu sistema, se houver), mas será tedioso.
Veja o que faço para evitar esse tipo de problema:
Mantenho meu crontab em um arquivo separado, mantido em um sistema de controle de origem. Eu instalo somente executando
crontab filename
Eu nunca uso crontab -e
. Se eu acidentalmente estragar meu crontab, posso recarregá-lo do arquivo. (Bem, quase nunca; às vezes uso crontab -e
para fazer alterações temporárias, sabendo que posso restaurar a versão atual mais tarde.)