Cet article décrit comment configurer des répertoires et des scripts pour que cron exécute différentes actions à des heures régulières.
Cet article utilise le pico
éditeur de texte, mais vous pouvez utiliser l'éditeur de texte de votre choix, tel quevi
, vim
ou nano
.
Configurer les scripts et répertoires système
Utilisez les commandes suivantes pour configurer les scripts système et les répertoires à exécuter par cron :
[user@server ~]$ sudo mkdir /usr/local/sbin/continuous.active
[user@server ~]$ sudo mkdir /usr/local/sbin/continuous.inactive
[user@server ~]$ sudo mkdir /usr/local/sbin/hourly.active
[user@server ~]$ sudo mkdir /usr/local/sbin/hourly.inactive
[user@server ~]$ sudo mkdir /usr/local/sbin/daily.active
[user@server ~]$ sudo mkdir /usr/local/sbin/daily.inactive
[user@server ~]$ sudo mkdir /usr/local/sbin/weekly.active
[user@server ~]$ sudo mkdir /usr/local/sbin/weekly.inactive
Configurer le script pour les tâches continues
Exécutez la commande suivante pour créer le fichier de script pour les tâches continues et ouvrez-le dans un éditeur de texte :
[user@server ~]$ sudo pico /usr/local/sbin/continuous.sh
Insérez le script suivant pour exécuter chaque conteneur et tous les scripts qu'il contient à l'intervalle spécifié :
#!/bin/bash
ACTIVE_SCRIPTS_DIR=/usr/local/sbin/continuous.active
for module in `find "$ACTIVE_SCRIPTS_DIR" -maxdepth 1 -mindepth 1 -type f`; do
if [ -x $module ]; then
$module
fi
done
Exécutez la commande suivante pour rendre le continuous.sh script exécutable :
[user@server ~]$ sudo chmod u+x /usr/local/sbin/continuous.sh
Configurer un script pour les tâches horaires
Exécutez la commande suivante pour créer le fichier de script pour les tâches horaires et ouvrez-le dans un éditeur de texte :
[user@server ~]$ sudo pico /usr/local/sbin/hourly.sh
Insérez le script suivant pour exécuter chaque conteneur et tous les scripts conservés toutes les heures :
#!/bin/bash
ACTIVE_SCRIPTS_DIR=/usr/local/sbin/hourly.active
for module in `find "$ACTIVE_SCRIPTS_DIR" -maxdepth 1 -mindepth 1 -type f`; do
if [ -x $module ]; then
$module
fi
done
Exécutez la commande suivante pour créer le hourly.sh script exécutable :
[user@server ~]$ sudo chmod u+x /usr/local/sbin/hourly.sh
Configurer un script pour les tâches quotidiennes
Exécutez la commande suivante pour créer le fichier de script pour les tâches quotidiennes et ouvrez-le dans un éditeur de texte :
[user@server ~]$ sudo pico /usr/local/sbin/daily.sh
Insérez le script suivant pour exécuter quotidiennement chaque conteneur et tous les scripts qu'il contient :
#!/bin/bash
ACTIVE_SCRIPTS_DIR=/usr/local/sbin/daily.active
for module in `find "$ACTIVE_SCRIPTS_DIR" -maxdepth 1 -mindepth 1 -type f`; do
if [ -x $module ]; then
$module
fi
done
Exécutez la commande suivante pour rendre le daily.sh script exécutable :
[user@server ~]$ sudo chmod u+x /usr/local/sbin/daily.sh
Configurer un script pour les tâches hebdomadaires
Exécutez la commande suivante pour créer le fichier de script pour les tâches hebdomadaires et ouvrez-le dans un éditeur de texte :
[user@server ~]$ sudo pico /usr/local/sbin/weekly.sh
Insérez le script suivant pour exécuter chaque conteneur et tous les scripts contenus à l'intérieur chaque semaine :
#!/bin/bash
ACTIVE_SCRIPTS_DIR=/usr/local/sbin/weekly.active
for module in `find "$ACTIVE_SCRIPTS_DIR" -maxdepth 1 -mindepth 1 -type f`; do
if [ -x $module ]; then
$module
fi
done
Exécutez la commande suivante pour créer le weekly.sh script exécutable :
[user@server ~]$ sudo chmod u+x /usr/local/sbin/weekly.sh
Ajouter des scripts au fichier crontab
Un fichier crontab contient une liste de commandes destinées à être exécutées à des moments précis. Utilisez la commande suivante pour modifier le fichier crontab :
[user@server ~]$ sudo crontab -e
Chaque ligne du fichier crontab comporte cinq champs de date et d'heure au format suivant :
minute (0-59) hour (0-23) day (1-31) month (1-12) weekday (0-6)
Si vous souhaitez exécuter un script un certain nombre de fois par unité de temps, vous pouvez utiliser le format */n
, où n
est le nombre de fois que vous voulez que le script s'exécute.
Ajoutez les entrées suivantes au fichier crontab :
MAILTO= [email protected]
*/5 * * * * /usr/local/sbin/continuous.sh
6 */1 * * * /usr/local/sbin/hourly.sh
16 02 * * * /usr/local/sbin/daily.sh
26 03 * * 0 /usr/local/sbin/weekly.sh
Utilisez l'onglet Commentaires pour faire des commentaires ou poser des questions. Vous pouvez également [démarrer une conversation avec nous](https://www.rackspace.com/contact).