在linux中设置crontab在每月最后一天执行的两种方法:
方法一:
Linux环境:
0 23 28-31 * * [ `date -d tomorrow +\%e` -eq 1 ] && do-something
Unix,BSD,Mac环境:
0 23 28-31 * * [ `echo \`cal\` | awk ‘{print $NF}’` -eq 1 ] && do-something
方法二:
单独靠crontab判断比较复杂,所以把判断部分写到执行脚本中
#!/bin/bash
today=`date +%d`
last_day=`cal | xargs | awk ‘{print $NF}’`
if [ “$today” != “$last_day” ]; then
exit 1
fi
CRONTAB语法及应用
1:查看当前用户的定时任务
[oracle@localhost ~]$ crontab -l
* * * * * /home/oracle/test.sh >/dev/null 2>&1
2:编辑当前用户的定时任务
可以在编辑状态修改、删除、新增一些定时任务。注释一般用#
[oracle@localhost ~]$ crontab -e
3:删除当前用户的定时任务
[root@localhost ~]# crontab -r
[root@localhost ~]# crontab