PowerScale OneFS : Comment modifier Crontab
Summary: Crontab est un utilitaire utilisé pour la planification et l’automatisation des tâches.
Instructions
Procédure
Affichez les fichiers crontab.
Exécutez la commande appropriée pour afficher le fichier crontab à l’échelle du cluster ou le fichier crontab du nœud local.À l’échelle du cluster :
cat /etc/crontabPour le fichier crontab du nœud local :
cat /etc/local/crontab.local
TreeDeletele /etc/local/crontab.local Le fichier doit être créé. Voir ci-dessous pour plus d’informations.
OneFS génère le
/etc/crontab . Un exemple d’entrée crontab est affiché ci-dessous.
#minute hour mday month wday who command # # Nightly Health check update 0 1 * * * root /usr/bin/isi_healthcheck_update -s
Le tableau suivant explique les en-têtes de colonne :
|
nom de l’en-tête |
valeur autorisée |
caractères spéciaux autorisés |
|---|---|---|
|
minute |
0-59 |
* / , |
|
hour |
0-23 |
* / , |
|
mday |
jour du mois, 1 à 31 |
* / , ? L W |
|
month |
1-12 |
* / , |
|
wday |
jour de la semaine (0 à 6, dimanche = 0) |
* / , ? L W |
|
who |
groupe d’autorisations, tel que root |
Sans objet |
|
. |
Commandes à exécuter |
Sans objet |
Ce tableau décrit les caractères spéciaux :
|
caractère spécial |
définition |
|---|---|
|
* |
Les astérisques sont utilisés pour indiquer les correspondances de l’expression cron pour toutes les valeurs du champ. Ainsi, pour le champ mois, chaque mois serait indiqué. |
|
/ |
Les barres obliques sont utilisées pour décrire les incréments des plages. Par exemple, 3-59/15 pour les minutes indique la troisième minute de l’heure et toutes les 15 minutes ensuite. |
|
% |
Les signes de pourcentage sont remplacés par des caractères de nouvelle ligne dans les commandes. |
|
, |
Les virgules sont utilisées pour séparer les éléments d’une liste. Par exemple, JEU, VEN, SAT |
|
- |
Les traits d’union sont utilisés pour définir des plages, telles que 200 à 205. |
|
L |
Signifie « last ». Utilisé avec le champ day-of-week pour spécifier des constructions telles que « Last Friday » qui serait 5L. |
|
W |
Utilisé pour le champ day-of-month, pour spécifier un jour de la semaine le plus proche du jour donné. Par exemple, 14W est le jour de la semaine le plus proche du 14 du mois. |
|
N° |
Utilisé pour le champ du jour de la semaine, suivi d’un nombre compris entre 1 et 5 pour spécifier des concepts tels que le deuxième lundi d’un mois donné. |
|
? |
Utilisé à la place de * pour laisser le jour du mois ou le jour de la semaine vide |
/etc/crontab , des instructions sont fournies sur l’endroit où ajouter des entrées ou apporter des modifications à des fins de personnalisation. La commande /etc/local/crontab.local et le fichier /etc/mcp/override/crontab Le fichier est créé par l’utilisateur, il n’a donc pas d’instructions.
Modifiez les fichiers crontab.
/etc/crontab Le fichier ne doit PAS être modifié directement.
L’ajout ou la modification d’entrées dans ce fichier doit être effectué dans le fichier
/etc/mcp/override/crontab pour l’ensemble du cluster et le fichier /etc/local/crontab.local pour le nœud local.
Entrées crontab dans le répertoire
/etc/local/crontab.local ne survivent pas à une mise à niveau de OneFS, mais les entrées du fichier /etc/mcp/override/crontab sont conservés.
Si la demande
/etc/local/crontab.local Le fichier n’existe pas, utilisez la commande ci-dessous pour créer :
touch /etc/local/crontab.localDe même, si l’option
/etc/mcp/override/crontab Le fichier n’existe pas, utilisez la commande ci-dessous pour créer :
touch /etc/mcp/override/crontab
cp /etc/local/crontab.local /etc/local/crontab.local.backup
Une entrée peut être ajoutée directement en exécutant la commande suivante :
vi /etc/local/crontab.localEt de la même manière :
vi /etc/mcp/override/crontabCollez ou saisissez l’entrée requise, comme illustré dans l’exemple ci-dessous :
Pour ajouter
treedelete.sh à 23 h tous les jours :
0 23 * * * root /bin/sh /ifs/data/Scripts/treedelete.sh
Remarque : Les espaces entre les entrées sont créés à l’aide de la touche de tabulation. Les astérisques indiquent que l’expression cron correspond à toutes les valeurs du champ. Dans l’exemple précédent, il s’agissait de tous les jours du mois, tous les mois de l’année et tous les jours de la semaine.
L’utilisation de la commande isi_ropc Dans les entrées crontab
L’ajout de isi_ropc À une entrée crontab exécute la commande transmise au maximum une fois par cluster et par version, quel que soit le nombre de nœuds sur lesquels elle est exécutée. Sans balise, cela permettrait à la commande de s’exécuter sur le nœud ayant le DevID le plus bas. Vous pouvez également ajouter l’attribut -s flag exécuterait la commande sur un nœud aléatoire . Vous trouverez ci-dessous un exemple d’entrée :
# rotate log files on /ifs, too -- one node per cluster at a time
15,45 * * * * root isi_ropc newsyslog -f /etc/newsyslog.ifs.conf
Ajoutez plusieurs entrées à un fichier crontab.
Si un fichier crontab nécessite plusieurs entrées d’un autre fichier, ajoutez l’entrée de tâche. Dans cet exemple, où path_to_file_with_entries est le fichier qui contient les entrées à importer :
cat /ifs/<path_to_file_with_entries> >> /etc/local/crontab.local
Vérifier les entrées dans un crontab .
Vérifiez que les entrées sont ajoutées à l’attribut crontab Fichiers:
tail /etc/local/crontab.local
tail /etc/crontabUn résultat similaire à celui ci-dessous s’affiche :
tail /etc/crontab # X: ---------------- # X: LOCAL # X: This section contains entries local to this node # X: only. This section is populated from the contents of # X: the file /etc/local/crontab.local if it exists. # X: ---------------- 0 23 * * * root /bin/sh /ifs/data/Scripts/treedelete.sh tail /etc/local/crontab.local 0 23 * * * root /bin/sh /ifs/data/Scripts/treedelete.sh
Rétablissez les modifications apportées au fichier crontab :
Ces étapes rétablissent le crontab.local à la version de sauvegarde créée dans la section précédente.
- Ouvrez une connexion SSH sur n’importe quel nœud du cluster et connectez-vous à l’aide du compte root .
- Exécutez la commande suivante pour copier puis renommer la sauvegarde d’origine du fichier
crontab.localfichier :
cp /etc/local/crontab.local.backup /etc/local/crontab.local
Additional Information
Avant OneFS 9.5, /etc/mcp/override/crontab.smbtime a été utilisé pour conserver les entrées par le biais de mises à niveau.
Il a depuis été déterminé qu’à partir de OneFS 9.5 et des versions ultérieures, /etc/mcp/override/crontab au lieu de /etc/mcp/override/crontab.smbtime.