Las opciones para editar y eliminar no deberían estar una al lado de la otra en el teclado. Un error demasiado fácil para un tipeo rápido.
einstiien
Eso es exactamente lo que me pasó.
Respuestas:
9
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!
¿Por qué se le dio -1? Es una respuesta directa a la pregunta.
Dan Green-Leipciger
He estado usando tu guión. Increíble, muchas gracias!
MeV
El script PHP no funciona correctamente con los comandos que contienen paréntesis de cierre. Fijo y portado a bash:zgrep -F "($USER) CMD (" /var/log/syslog* | cut -d\( -f3- | sort -u | while read cmd ; do echo ${cmd::-1} ; done
Splitlocked
1
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 .profileque solía crontabser crontab -i. La -ibandera 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 -run mensaje de confirmación.
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!
fuente
Antes que nada: ¡siempre haga copias de seguridad!
Pero, es tan fácil de mezclar
crontab -r
ycrontab -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.
fuente
/var/log/syslog/*
.Script para la recuperación completa de crontab
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:
fuente
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.
fuente
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íacrontab
sercrontab -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.fuente
No lo creo. Es hora de comenzar a hacer una copia de seguridad de este archivo importante (con todos los demás en / etc / var / spool / home ...).
fuente