linux crontab使用技巧
QQ群:397745473
执行命令时加时间 1 */1 * * * * root echo 'command....' | xargs echo $(date '+\%Y-\%m-\%d \%H:\%M:\%S' ) >> "/a.log" 2>&1;
效果:
1 2 3 [root@abc]# cat a.log 2018-11-01 15:09:01 command.... 2018-11-01 15:10:01 command....
有环境变量时需要注意 在crontab做oracle 日志导出时报错:UDE-00013、UDE-00019 单独使用正常
UDE-00013: Message 13 not found; No message file for product=RDBMS, facility=UDE UDE-00019: You may need to set ORACLE_HOME to your Oracle software directory
在crontab调用的代码中增加$ORACLE_HOME的全局变量
解决办法:
1 2 3 4 export ORACLE_BASE=/u01/oracleexport ORACLE_HOME=$ORACLE_BASE /product/11.2.0/export ORACLE_SID=dbserverexport ORACLE_TERM=xterm
crontab 常规使用方法 参考:http://leepiao.blog.163.com/blog/static/4850313020163132145513/
1 2 3 4 5 6 7 8 crontab 的格式是 分 时 日 月 周 命令 *表示每隔最小单位,但是,分必须是明确的定义 因此,设定每小时执行一次的话,只需要指明每小时的哪一分钟执行就可以了 可以用 0 * * * * command 来设定每小时的0分钟执行命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 Crontab语法 usage: crontab [-u user] file crontab [-u user] [ -e | -l | -r ] (default operation is replace, per 1003.2) -e (edit user's crontab) -l (list user's crontab) -r (delete user's crontab) -i (prompt before deleting user's crontab) -s (selinux context) 其中,file是命令文件的名字。如果在命令行中指定了这个文件,那么执行crontab命令,则将这个文件拷贝到crontabs目录下;如果在命令行中没有制定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将他们也存放在crontab目录下。 Crontab 格式 使用crontab -e 添加要执行的命令。 添加的命令必须以如下格式: * * * * * /command path 前五个字段可以取整数值,指定何时开始工作,第六个域是字符串,即命令字段,其中包括了crontab调度执行的命令。 各个字段之间用spaces和tabs分割。 前5个字段分别表示: 分钟:0-59 小时:1-23 日期:1-31 月份:1-12 星期:0-6(0表示周日) 一些特殊符号: *: 表示任何时刻 ,: 表示分割 -:表示一个段,如第二端里: 1-5,就表示1到5点 /n : 表示每个n的单位执行一次,如第二段里,*/1, 就表示每隔1个小时执行一次命令。也可以写成1-23/1.
QQ群:397745473