Quelle est la bonne façon de modifier un fichier crontab?

38

J'essaie d'automatiser le rafraîchissement de awstats pour mon serveur Web et de comprendre que je dois utiliser cron pour le configurer. Donc, chaque utilisateur a un fichier crontab?

Je suivais les instructions ici de la communauté / AWStats

Et il est dit d'aller au fichier à: /etc/crontab

Ce fichier contient déjà des informations. Est-ce le fichier principal crontab ou quelque chose? J'ai vu certaines instructions en ligne pour utiliser le fichier qui apparaît avec crontab -e .

Quel est le bon fichier à utiliser et comment le faire?

Si je planifie une tâche en tant qu’utilisateur non root, s’exécutera-t-elle seule à l’intervalle spécifié, sans problème?

Dois-je redémarrer le serveur après avoir enregistré le travail cron dans le fichier crontab avant qu'il ne commence à fonctionner?

    
posée timbram 16.04.2015 - 06:16
la source

2 réponses

36
  

Quel est le bon fichier à utiliser et comment le faire?

crontab -e est le meilleur moyen de le faire - cela vous permettra de modifier facilement les crontabs par utilisateur.

  

Si je planifie une tâche en tant qu’utilisateur non root, s’exécutera-t-elle seule à l’intervalle spécifié, sans problème?

Oui, et il fonctionnera avec les privilèges de ce compte utilisateur.

En principe, il est préférable d’exécuter les tâches planifiées avec les privilèges les plus bas possibles. Par conséquent, si ce que vous faites n’a pas besoin de root, n’utilisez pas root. Si vous n'avez même pas besoin de pouvoir accéder aux fichiers et dossiers de votre compte , vous pouvez créer un nouvel utilisateur et utiliser ce compte utilisateur uniquement pour cette tâche. D'un autre côté, si votre tâche nécessite root, utilisez la crontab de root ( su / sudo su pour root puis utilisez crontab -e ).

  

Dois-je redémarrer le serveur après avoir enregistré le travail cron dans le fichier crontab avant qu'il ne commence à fonctionner?

Non, ça va commencer à fonctionner tout de suite (enfin, la prochaine heure programmée).

    
réponse donnée thomasrutter 16.04.2015 - 08:06
la source
14

Chaque utilisateur a son propre crontab .

Pour le voir, tapez simplement

crontab -l

et, oui, vous avez bien vu, quand vous voulez ajouter un crontab alors faites simplement

crontab -e

pour la première fois, vous serez invité à propos de l'éditeur à utiliser avec crontab . Comme vous êtes novice comme vous le dites, je vous recommande d’utiliser nano, c’est l’éditeur le plus simple à utiliser.

La crontab elle-même fonctionne comme ceci

MIN =  Minute 0-60
HOUR = Hour [24-hour clock] 0-23
MDAY = Day of Month 1-31
MON = Month 1-12 OR jan,feb,mar,apr ...
DOW =  Day of Week 0-6 OR sun,mon,tue,wed,thu,fri,sat
COMMAND = Command to be run Any valid command-line

Ainsi, par exemple pour déclencher un travail toutes les 15 minutes seulement le lundi, vous le faites comme ça

*/15 * * * mon /home/me/yourscript.sh

et OUI, il est très important que vous placiez votre tâche dans le crontab de l’utilisateur qui a suffisamment de droits pour l’exécuter.

Donc, si votre script doit être un utilisateur root ou un utilisateur spécial, assurez-vous de le lui envoyer et d'y ajouter le job cron.

Aussi très important!

cronjob est bête! Oui je l'ai dit Assurez-vous toujours d'entrer le PATH complet dans le application/command/script que vous utilisez, car crontab ne fonctionnera pas avec .bashrc ou similaire. Vous devez toujours vous assurer que vous dites à cron où trouver les fichiers et les répertoires.

Pour répondre au reste de vos questions:

Bien sûr, cela fonctionnera sur lui-même, c'est ce que ça veut dire. Mais vous devez vérifier que cronjob le fait vraiment, ou s'il manque quelque chose. Par exemple. Connectez-vous à un fichier journal pour voir si cela fonctionne vraiment.

Et NON, un redémarrage n'est pas nécessaire. Un redémarrage avec Linux n'est normalement nécessaire que si vous installez un nouveau noyau. Pour l'utiliser, vous devez redémarrer. Presque tout le reste peut être fait sans redémarrer sous Linux. Bien sûr, il existe des exceptions, mais en général, cette instruction est correcte.

    
réponse donnée s1mmel 16.04.2015 - 07:26
la source

Lire d'autres questions sur les étiquettes