Rumah > Operasi dan penyelenggaraan > operasi dan penyelenggaraan linux > Adakah anda tahu apakah maksud istimewa % dalam crontab di bawah Linux?

Adakah anda tahu apakah maksud istimewa % dalam crontab di bawah Linux?

藏色散人
Lepaskan: 2021-09-06 17:26:01
ke hadapan
2177 orang telah melayarinya

Lajur tutorial sistem linux berikut akan memperkenalkan kepada anda penggunaan % dalam crontab di bawah Linux dan maksudnya yang istimewa, saya harap ia dapat membantu rakan yang memerlukan.

Adakah anda tahu apakah maksud istimewa % dalam crontab di bawah Linux?

% penggunaan dalam crontab di bawah Linux

Skrip berikut dalam crontab tidak boleh

 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
Salin selepas log masuk

Apabila dilaksanakan, log /var/log/messages menunjukkan:

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 +)
Salin selepas log masuk

Nampaknya perintah itu telah dipotong.

Jadi saya merangkum semua arahan untuk dilaksanakan ke dalam skrip dan meletakkannya dalam crontab untuk dilaksanakan.

Tetapi apabila saya menyemak halaman manual crontab kemudian, saya mendapati bahawa % mempunyai makna istimewa dalam 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.
Salin selepas log masuk

Masalahnya kini jelas bukan kerana perintah crontab itu dipenggal , tetapi ianya Ia mempunyai makna lain, dan penyelesaiannya adalah untuk melarikan diri %. Skrip yang diubah suai menjadi:

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
Salin selepas log masuk

Atas ialah kandungan terperinci Adakah anda tahu apakah maksud istimewa % dalam crontab di bawah Linux?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:segmentfault.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan