[LINUX] Vous avez besoin d'amour pour éviter d'effacer accidentellement cron

introduction

J'écrirai un article sur Qiita pour la première fois. Je suis toujours redevable à tous ceux qui écrivent des articles pour Qiita. Merci beaucoup.

Aperçu

Si vous touchez cron sous Linux, vous avez peut-être essayé d'effacer cron. (Certaines personnes l'ont effacé ...)

Plutôt que «que faire quand il est effacé», c'est «comment l'empêcher d'être effacé».

Conclusion

Assurez-vous d'ajouter l'option -i à la commande crontab. (Empêcher la suppression)

Contexte

Lors de l'édition de cron

crontab -e

Je pense qu'il y a beaucoup de choses à faire directement. (Récemment, il a été dit que si vous modifiez directement, vous ne pouvez pas accéder directement au serveur, mais ce n'est pas tout cet environnement merveilleux.)

Je suis ravi quand je fais -e lorsque l'option est spécifiée. Ce gars est sur le côté droit du clavier. r

Comme vous le savez, si vous faites crontab -r, tout cron disparaîtra. En premier lieu, on a le sentiment que l'option de la disposition des clés est spécifiée quant à la raison pour laquelle un accident devrait se produire, mais la réalité est que.

Contre-mesures

1. Examiner les options de crontab

Si vous exécutez man cron tab (description de cron) sur la ligne de commande de linux, ceci est écrit en anglais.

-i     This  option  modifies  the  -r  option to prompt the user for a
       'y/Y' response before actually removing the crontab.

Je ne comprends pas un peu l'anglais,

-option i-Si vous ne répondez pas y ou Y avant de supprimer cron avec l'option r, il ne sera pas supprimé

Quelque chose comme ça est écrit. Ce type peut être utilisé.

Je vais essayer. (Ne testez pas en production même si vous faites une erreur)

$ crontab -ir
crontab: really delete hogehoge's crontab?

La partie hogehoge est le nom d'utilisateur. Après cela, vous pouvez sortir en toute sécurité avec "Yabe" et ctrl + c. Si vous appuyez sur «y» ou «Y», cron disparaît, mais je ne sais pas si vous faites cela.

À chaque fois

crontab -ie

Si vous appuyez dessus, tout va bien. Même si vous appuyez accidentellement sur la touche terrifiante à droite

crontab -ir

C'est sûr parce qu'il sera entendu à. Mais ce n'est pas intelligent. C'est plutôt ennuyeux. En premier lieu, il ne semble y avoir aucun problème avec -i. (Dans le cas de -l, même si vous écrivez -il, on ne vous demandera pas" Êtes-vous sûr de vouloir l'effacer? ")

2. Alias

Linux a un alias. Veuillez consulter un autre site pour plus de détails. Immédiatement je l'ai lu en lettres romaines et ça me rappelle un joueur de baseball (je suis fan de l'équipe de Kanagawa)

Dans cet exemple

alias crontab='crontab -i'

Et courir Si vous exécutez crontab, vous avez fait crontab -i Cela signifie que nous avons pu déclarer.

Alors où déclarez-vous ce type?

3. Définissez sur ~ / .bash_profile

Je l'ai réglé sur ~ / .bash_profile. Si vous l'écrivez ici, il sera exécuté automatiquement lorsque vous vous connecterez à l'écran noir avec ssh.

Il y a aussi un ~ / .bashrc, et même si vous l'écrivez ici, il sera exécuté sans permission. Lequel écrire dépend du jugement de l'individu.

La raison pour laquelle j'ai écrit dans ~ / .bash_profile est la suivante. Lorsque vous exécutez man bash (description de bash)

~/.bash_profile
       The personal initialization file, executed for login shells
~/.bashrc
       The individual per-interactive-shell startup file

Il est écrit. Je ne traduis pas. Cette fois

J'ai donc décidé de l'ajouter à ~ / .bash_profile.

Résumé

Voici ce qu'il faut faire: Ajoutez ʻalias crontab = 'crontab -i'à~ / .bash_profile` (Les paramètres sont requis pour chaque utilisateur) Nous ne sommes pas responsables de tout ce qui se passe, alors veuillez le tester.

finalement

Réduisez le temps que vous passerez à cron.

Recommended Posts

Vous avez besoin d'amour pour éviter d'effacer accidentellement cron
Paramètre pour afficher le journal de l'exécution de cron
Utiliser des décorateurs pour empêcher la ré-exécution du traitement des données