Je ssh sur un serveur et je veux ajouter des tâches quotidiennes (en particulier pour renouveler les tickets Kerberos même lorsque je me déconnecte et que je veux toujours que mes programmes dans screen ou tmux continuent de s'exécuter) pour cron. Alors je cours crontab -e
et j'ajoute ce qui suit,
00 00 * * * kinit -R
00 12 * * * kinit -R
Lorsque je l'enregistre, l'éditeur me demande:
File Name to Write: /tmp/crontab.HMpG7V
N'est-ce pas que les fichiers /tmp
peuvent être supprimés par l'OS? Surtout après ma déconnexion du serveur?
Où dois-je stocker mon fichier crontab? Puis-je enregistrer le fichier crontab sous $ HOME ou un meilleur espace?
Réponses:
crontab -e
ouvre un fichier dans / tmp au lieu de la crontab réelle afin qu'il puisse vérifier votre nouvelle crontab pour les erreurs et vous empêcher d'écraser votre crontab réelle avec ces erreurs. S'il n'y a pas d'erreurs, votre crontab réel sera mis à jour. Si vouscrontab -e
venez d'écrire directement dans votre crontab, vous risquez de ne pas exécuter tous vos cronjobs en raison d'une erreur de syntaxe dans votre nouveau crontab.sudoedit
,visudo
,vipw
, Etc. fonctionne sur le même principe.Ne vous inquiétez pas, votre véritable crontab vit dans un emplacement non volatile sur le disque.
la source
/var/spool
(en général), mais vous ne devriez jamais toucher votre crontab réel et vous ne devriez jamais avoir besoin non plus - utilisez à lacrontab -e
place. De toute façon, vous n'avez probablement pas le bon niveau d'accès pour modifier le fichier crontab brut./tmp
est l'endroit où le fichier temporaire crontab est écrit. Après avoir enregistré et quitté,crontab
les modifications seront enregistrées dans un répertoire différent et plus approprié de votre système (généralement/var/spool/cron
, si je me souviens bien). Donc, ne vous inquiétez pas, le système d'exploitation peut supprimer votre / tmp, mais il ne supprimera jamais vos crontabs.la source
Les fichiers Crontab résident dans / var / spool / cron / crontabs / sous son nom d'utilisateur ou son ID utilisateur. Étant donné que des situations peuvent survenir lorsque le crontab situé ici n'est plus connecté à votre compte de connexion, il est recommandé d'enregistrer une copie dans votre répertoire personnel, par exemple /home/userid/.crontab, afin de pouvoir le restaurer facilement si vous en avez besoin. à. Cela vous permet également de le placer sous contrôle de révision si vous le souhaitez.
Si votre répertoire personnel est déplacé vers un autre système, souvent la crontab du répertoire spool ne l'accompagne pas, sauf si votre administrateur système en tient compte. / Var / spool n'est pas non plus toujours sauvegardé ou restauré lorsqu'un système doit être refait.
Encore une fois, il est recommandé de conserver une copie de votre crontab sous votre répertoire personnel.
Utilisez votre éditeur préféré (pico, vi, emacs, etc.) pour éditer ~ / .crontab puis utilisez crontab pour l'appliquer à / var / spool / crontabs. Comme ça:
Si vous aimez les alias, vous pouvez en créer un à la place.
la source