Ssh a un servidor, y quiero agregar algunos trabajos diarios (específicamente para renovar los tickets de Kerberos incluso cuando salgo y todavía quiero que mis programas en pantalla o tmux continúen ejecutándose) en cron. Entonces corro crontab -e
y agrego lo siguiente,
00 00 * * * kinit -R
00 12 * * * kinit -R
Cuando lo guardo, el editor me pregunta:
File Name to Write: /tmp/crontab.HMpG7V
¿No es que /tmp
el sistema operativo puede eliminar los archivos ? ¿Especialmente después de cerrar sesión en el servidor?
¿Dónde debo guardar mi archivo crontab? ¿Puedo guardar el archivo crontab en $ HOME o en un espacio mejor?
Respuestas:
crontab -e
abre un archivo en / tmp en lugar del crontab real para que pueda verificar su nuevo crontab en busca de errores y evitar que sobrescriba su crontab real con esos errores. Si no hay errores, se actualizará su crontab real. Sicrontab -e
solo escribió directamente en su crontab real, entonces correría el riesgo de que todos sus cronjobs no se ejecuten debido a un error de sintaxis en su nuevo crontab.sudoedit
,visudo
,vipw
, Etc. operar en el mismo principio.No se preocupe, su crontab real vive en una ubicación no volátil en el disco.
fuente
/var/spool
(típicamente), pero nunca debe tocar su crontab real y tampoco debería necesitarlo, usecrontab -e
en su lugar. Probablemente no tenga el nivel de acceso correcto para editar el archivo crontab sin procesar de todos modos./tmp
es donde se escribe el archivo temporal crontab. Después de guardar y salir,crontab
va a confirmar los cambios en un directorio diferente, más adecuado en su sistema (por lo general en/var/spool/cron
, si no recuerdo mal). Entonces, no se preocupe, el sistema operativo puede eliminar su / tmp, pero nunca eliminará sus crontabs.fuente
Los archivos de Crontab residen en / var / spool / cron / crontabs / bajo el nombre de usuario o ID de usuario. Dado que pueden surgir situaciones en las que el crontab ubicado aquí ya no está conectado a su cuenta de inicio de sesión, se recomienda que guarde una copia en su directorio de inicio, por ejemplo /home/userid/.crontab, para que pueda restaurarlo fácilmente si lo necesita a. Esto también le permite colocarlo bajo control de revisión si lo desea.
Si el directorio de inicio se reubica en otro sistema, a menudo el crontab del directorio de cola no lo acompaña a menos que el administrador del sistema lo tenga en cuenta. Tampoco se realiza una copia de seguridad / restauración de / var / spool cuando un sistema necesita ser rehecho.
Por lo tanto, nuevamente se recomienda mantener una copia de su crontab en su directorio de inicio.
Use su editor favorito (pico, vi, emacs, etc.) para editar ~ / .crontab y luego use crontab para aplicarlo a / var / spool / crontabs. Me gusta esto:
Si te gustan los alias, puedes hacer que se ejecute uno.
fuente