English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Comprehensive List of Linux Commands
Crontab Linux est utilisé pour exécuter des programmes de manière régulière.
Après l'installation du système d'exploitation, cette commande de planification des tâches est automatiquement démarrée par défaut.
La commande crond vérifie régulièrement chaque minute s'il y a des tâches à exécuter, et exécute automatiquement ces tâches si elles doivent être exécutées.
Note:Les tâches cron nouvellement créées ne s'exécutent pas immédiatement, au moins après 2 minutes avant de pouvoir, bien sûr, vous pouvez redémarrer cron pour l'exécuter immédiatement.
Les tâches de planification des tâches Linux sont principalement divisées en deux catégories suivantes :
crontab [ -u user ] fichier
ou
crontab [ -u user ] { -l | -r | -e }
Explication :
Crontab est utilisé pour permettre aux utilisateurs d'exécuter des programmes à des moments fixes ou à des intervalles fixes, en d'autres termes, c'est une sorte de plan de tâches de l'utilisateur.
-u user signifie configurer le plan de tâches d'un utilisateur spécifique, ce qui suppose que vous devez avoir les autorisations (par exemple, root) pour spécifier le plan de tâches d'autrui. Si vous ne n'utilisez pas -u user signifie configurer le plan de tâches personnel.
Explication des paramètres:
Le format de l'heure est le suivant :
f1 f2 f3 f4 f5 program
* * * * * - - - - - | | | | | | | | | +----- jour de la semaine (0 - 6) (dimanche est 0) | | | +---------- mois (1 - 12) | | +--------------- le jour du mois (1 - 31) | +-------------------- heure (0 - 23) +------------------------- minute (0 - 59)
L'utilisateur peut également enregistrer tous les paramètres dans un fichier, puis les définir en utilisant le mode crontab file pour le temps d'exécution.
exécuter toutes les minutes /bin/ls :
* * * * * /bin/ls
dans 12 au début du mois, chaque matin 6 heures 12 point, toutes les 3 exécuter une fois toutes les heures 0 minute /usr/bin/backup :
0 6-12/3 * 12 * /usr/bin/backup
de lundi à vendredi, chaque après-midi 5:00 Envoyer une lettre à [email protected] :
0 17 * * 1-5 mail -s "hi" [email protected] < /tmp/maildata
minuit 0 heure chaque jour du mois 20 minute , 2 point 20 minute , 4 point 20 minute... Exécuter echo "haha" :
20 0-23/2 * * * echo "haha"
Voyons quelques exemples concrets :
0 */2 * * * /sbin/service httpd restart signifie redémarrer apache toutes les deux heures 50 7 * * * /sbin/service sshd start signifie chaque jour7:50 activer le service ssh 50 22 * * * /sbin/service sshd stop signifie chaque jour22:50 désactiver le service ssh 0 0 1,15 * * fsck /home, chaque mois1numéro et15numéro de vérification/disque home 1 * * * * /home/bruce/backup, la première minute de chaque heure /home/bruce/Backup this file 00 03 * * 1-5 find /home "*.xxx" -mtime +4 -exec rm {} \; from Monday to Friday3at/Find files named*Delete .xxx files4day before the month. 30 6 */10 * * ls means the files from the1、11、21、31Day yes6:30 Execute ls command once
Note:After the program executes at the time you specify, the system will send an email to the current user showing the content of the program execution. If you do not want to receive such an email, please add a space after each line followed by > /dev/null 2>&1 It can be done, such as:
20 03 * * * . /etc/profile;/bin/sh /var/www/w3codebox/test.sh > /dev/null 2>&1
If we use crontab to schedule the execution of the script and it cannot be executed, but if executed directly through the command (such as:/After test.sh) can execute normally again, this is mainly because the environment variables cannot be read.
Solution:
1、All commands need to be written in absolute path format, such as: /usr/local/bin/docker。
2、Use the following code at the beginning of the shell script:
#!/bin/sh . /etc/profile . ~/.bash_profile
3、in /etc/crontab Add the environment variable in the command before the executable command, such as: /etc/profile;/bin/sh, making the environment variables effective, for example:
20 03 * * * . /etc/profile;/bin/sh /var/www/w3codebox/test.sh