Maison > Opération et maintenance > exploitation et maintenance Linux > Savez-vous quelle est la signification particulière de % dans crontab sous Linux ?

Savez-vous quelle est la signification particulière de % dans crontab sous Linux ?

藏色散人
Libérer: 2021-09-06 17:26:01
avant
2176 Les gens l'ont consulté

La colonne suivante du tutoriel du système Linux vous présentera l'utilisation de % dans crontab sous Linux et sa signification particulière. J'espère qu'elle sera utile aux amis dans le besoin !

Savez-vous quelle est la signification particulière de % dans crontab sous Linux ?

% de l'utilisation dans crontab sous Linux

Le script suivant dans crontab ne peut pas

 0 1 * * *   (cd /u01/prod; rsync -avz app 192.168.0.192:/u01/prod/) &>/home/applprod/backuplog/rsync_`date +%Y%m%d_%H%M%S`.log
Copier après la connexion

Une fois exécuté, le journal /var/log/messages affiche :

Sep 22 22:50:01 ebsapp CROND[13389]: (applprod) CMD ((cd /u01/prod; rsync -avz app 192.168.0.192:/u01/prod/) &>/home/applprod/backuplog/rsync_`date +)
Copier après la connexion

Il semble que la commande ait été tronqué.

J'ai donc encapsulé toutes les commandes à exécuter dans un script et les ai mises dans crontab pour exécution.

Mais quand j'ai vérifié la page de manuel de crontab plus tard, j'ai découvert que % a une signification particulière dans crontab :

The  "sixth"  field (the rest of the line) specifies the command to be run.  The entire command portion of the line, up to a new-
       line or % character, will be executed by /bin/sh or by the shell specified in the SHELL variable of the cronfile.   Percent-signs
       (%)  in  the  command, unless escaped with backslash (\), will be changed into newline characters, and all data after the first %
       will be sent to the command as standard input.
Copier après la connexion

Le problème est maintenant clair. Ce n'est pas que la commande crontab est tronquée, mais est comprise comme ayant une autre signification. solution Oui, échappez simplement %, et le script modifié devient :

03 23 * * * (cd /u01/prod; rsync -avz app 192.168.0.192:/u01/prod/) &>/home/applprod/backuplog/rsync_`date +\%Y\%m\%d_\%H\%M\%S`.log
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:segmentfault.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal