sh脚本(delete_log1.sh)
dd=`date -d"1 month ago" +%y-%m`
rm -vf /var/temp/log.20$dd-* 删除当前时间的起一个月的匹配文件
但是特别需要注意的是有好多人忽略了当crontab中使用sh执行定时任务时sh脚边中要包含你命令所需的环境变量,
因为crontab无法自动读取,下面列出几个大家比较常犯的错误:
1、shell输出中包含了汉字,那就需要引入相应的LANG环境变量,先在终端上用echo &LANG查看你当前的环境变量,
然后再把export LANG='你echo出来的变量值'添加进你的sh脚本中;
2、shell中使用了java相关的执行命令,如:java -jar ****.jar,那么你就要把此命令的完整绝对目录要列出来,这样
在crontab才能识别出来,就如:/usr/java/jdk1.7.0_51/jre/bin/java -jar *****.jar,前面所示的就为我机器上面的Java命令
的完整目录,否则就会出现“Error: Unable to access jarfile ****.jar”的错误;
3、执行任何命令或者文件时都要使用完整的绝对路径,否则crontab也是识别不出来的,当然也就无法执行下去了。