linux系统下的crontab中%表示什么,怎么使用
Admin 2022-06-21 群英技术资讯 853 次浏览
这篇文章主要介绍“linux系统下的crontab中%表示什么,怎么使用”,有一些人在linux系统下的crontab中%表示什么,怎么使用的问题上存在疑惑,接下来小编就给大家来介绍一下相关的内容,希望对大家解答有帮助,有这个方面学习需要的朋友就继续往下看吧。
linux下crontab中%的使用
crontab中下面的脚本不能
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
执行的时候,/var/log/messages日志中显示:
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 +)
好像是命令被截断的样子。
于是我把要执行的命令都封装到一个脚本中,放到crontab中执行。
但是稍后查看crontab的manpage时发现,%在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. 到这里问题已经清楚了,并不是crontab命令被截断,而是被理解成另外的含义了,解决的方法也有了,就是将%进行转义,修改之后的脚本变成了:
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
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
CentOS集群搭建
CentOS上搭建微信小程序服务
linux删除文件名是乱码文件的方法:1、利用“ls -i”命令获取文件的节点号,ls命令用于显示指定工作目录下之内容;2、通过获取到的文件节点号利用find命令即可删除指定的文件,语法为“find -inum 节点号 -delete”。
CentOS 7.4 使用源码包编译安装MySQL 5.7.20
linux线程是进程内部的一个执行分支,线程量级很小。一切进程至少都有一个线程。线程共享的资源:1、用户id和组id;2、当前工作目录;3、同一块地址空间;4、每种信号的处理方式。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008