Desde la actualización, el crontab de mi usuario ha sido eliminado. Esta no es la primera vez que esto sucede este año y es un dolor restaurarlo cada vez.
Me gustaría poder hacer una copia de seguridad del crontab para mi usuario, pero para eso necesito saber dónde está almacenado.
cron
paquete, pero estoy de acuerdo, no es algo que deba suceder.Respuestas:
En realidad, no se recomienda manejar esos archivos a mano. Por
crontab
página de manual:Los archivos bajo
/var/spool
se consideran temporales / en funcionamiento, por eso probablemente se eliminen durante una actualización, aunque una mirada más cercana a loscron
scripts de actualización del paquete puede arrojar algo de luz sobre esto.De todos modos, siempre es una buena práctica hacer una copia de seguridad de sus entradas cron o guardarlas en un archivo en su directorio de inicio.
Supongo que está utilizando
crontab -e
para crear archivos crontab sobre la marcha. Si es así, puede obtener una "copia" de su archivo crontab haciendocrontab -l
. Canalice eso a un archivo para obtener una "copia de seguridad":Luego puede editar ese archivo my-crontab para agregar o modificar entradas, y luego "instalarlo" dándolo a crontab:
Esto hace la misma verificación de sintaxis que
crontab -e
.fuente
crontab -l
es más fácil que pasar/var/spool/cron/crontabs/$USER
debido a los extraños permisos en ese archivo.iptables-save
de cron. Nice .../var/spool/cron/crontabs
es útil cuando desea seleccionar o examinar crontabs de múltiples usuarios.sudo grep -rHin "$string" /etc/cron*
(en el que la cadena podría ser un comando comodocker
,lftp
,iptables
, etc. Es una buena idea para comprobar crontabs de usuario también Eso es lo que me llevó a este Q & A..sudo grep -rHin "$string" /etc/cron* /var/spool/cron*
Se almacena dentro de la
/var/spool/cron/crontabs
carpeta con nombre de usuario.fuente
Finalmente descubrí por qué mis crontabs y la instalación de Postfix seguían fallando después del arranque. Es una razón realmente estúpida pero ...
Me había
/var/spool
montado como unatmpfs
unidad de RAM.Suena idiota y lo es, pero había seguido uno de los viejos ajustes de SSD para alargar la vida de mi SSD. Al hacerlo, me monté a ciegas
/tmp
,/var/tmp
y/var/spool
comotmpfs
sin pensar en las consecuencias. Pensé que/var/spool
era como/proc/
o/run/
y que solo era útil durante la sesión. Estaba claramente equivocado.fuente
/tmp
como tmpfs, pero no/var/tmp
o/var/spool
./tmp
se usa para almacenamiento temporal que puede perderse al reiniciar./var/tmp
se usa para el almacenamiento temporal que permanecerá después de un reinicio. Y como has descubierto,/var/spool
es para procesar los datos, que también permanecerán después de un reinicio.Para enumerar todos los trabajos cron de todos los usuarios en su sistema:
Una alternativa a su problema sería colocarlos en la carpeta cron.d y especificar el usuario apropiado por cron como en el ejemplo:
fuente
crontab -u
está ejecutando desde su sistema actual.while read user
bucle, para manejar el caso donde el nombre de usuario contiene espacios, pero aparentemente eso no es un problema. Conjunto muy limitado de caracteres de nombre de usuario.