Ejecuté crontab -r en lugar de crontab -e y eliminé mi archivo crontab. No tenía una copia de seguridad y nueva para recuperar el archivo eliminado.
es posible?
Gracias,
Peter
Ejecuté crontab -r en lugar de crontab -e y eliminé mi archivo crontab. No tenía una copia de seguridad y nueva para recuperar el archivo eliminado.
es posible?
Gracias,
Peter
Respuestas:
Intente mirar / var / log / cron para ver qué se ha estado ejecutando y luego intente recrear el crontab a partir de eso. Es desordenado, pero debería poder restaurar todo lo que se había ejecutado anteriormente. Sin embargo, no tanta suerte para los artículos más nuevos. ¡Buena suerte!
Antes que nada: ¡siempre haga copias de seguridad!
Pero, es tan fácil de mezclar crontab -r
y crontab -e
. Acabo de hacer esto yo mismo.
Eso fue lo que hice:
Puede intentar echar un vistazo a / var / log / cron y construir su crontab nuevamente.
grep commandname1 /var/log/cron
cat /var/log/cron | grep -v commandname1
. Esto excluirá el comando1 que ya cubrió.cat /var/log/cron | grep -v commandname1 | grep -v commandname2
Ahora también debe ejecutar el grep en cronlogs más antiguos para descubrir trabajos que podrían ejecutarse solo una vez al mes.
/var/log/syslog/*
.
Hice un script PHP que hace una recuperación completa de su crontab, basado en el registro.
Produce una sola instancia de cada comando cron ejecutado por el usuario durante la última semana.
Lo puse aqui
https://github.com/dangreenisrael/recover_crontab
Aquí hay una muestra de salida:
perl ~/sorttv/sorttv.pl
/usr/local/bin/flexget
bash ~/scripts/sort_sports.sh
~/scripts/play_recently_added.sh
zgrep -F "($USER) CMD (" /var/log/syslog* | cut -d\( -f3- | sort -u | while read cmd ; do echo ${cmd::-1} ; done
Tienes opciones, pero ninguna es particularmente bonita. En caso de que no lo haya pensado, si tiene una versión reciente en una máquina de desarrollo, puede copiarla desde allí ... Solo lo digo porque a menudo me olvido de las copias que pueden estar en otras máquinas, así que Supongo que ya lo has intentado.
Si su archivo está demasiado personalizado para hacer que la reconstrucción sea práctica, siempre puede probar algunos análisis forenses de bajo nivel. Intenta buscar en Google tutoriales basados en sleuthkit y UFS Explorer. Las personas que usan estas herramientas encuentran diversos grados en términos de facilidad de uso y tasas de éxito, por lo que, como es habitual, YMMV.
Ugh no puede publicar un comentario sobre la pregunta original, pero un compañero de trabajo me mostró una gran herramienta: crear un alias en lo .profile
que solía crontab
ser crontab -i
. La -i
bandera solicita confirmación antes de eliminar.
Entonces, si lo hace crontab -e
, procederá a editar como de costumbre, pero si lo hace accidentalmente, recibirá crontab -r
un mensaje de confirmación.