因为之前工作中使用的时候没有做记录,这里简单记下使用。
参考2:使用shell脚本或命令行 添加crontab 定时任务
命令介绍:
crontab -l 定时任务列表
crontab -e 编辑定时任务
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
/sbin/service crond status //任务状态
crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -l //列出某个用户cron服务的详细内容
crontab -r //删除没个用户的cron服务
crontab -e //编辑某个用户的cron服务
举例:
:||{
基本格式 :
* * * * * command
分 时 日 月 周 命令
第1列表示分钟00~59 每分钟用*或者 */1表示
第2列表示小时00~23(0表示0点)
第3列表示日期01~31
第4列表示月份01~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
*/1 * * * * 表示每分钟重启
0 2 * * 1 表示每星期一的凌晨2:00重启
30 21 * * * 表示每晚的21:30重启
30 21 1,10,22 * * 表示每月1、10、22日的21:30重启
10 1 * * 6,0 表示每周六、周日的1:10重启
0,30 18-23 * * * 表示在每天18:00至23:00之间每隔30分钟重启
0 2 * * 6 表示每星期六的凌晨2:00重启
* */1 * * * 表示每一小时重启
* 23-7/1 * * * 表示晚上11点到早上7点之间,每隔一小时重启
0 11 4 * mon-wed 表示每月的4号与每周一到周三的11点重启
0 4 1 jan * 表示一月一号的4点重启
}
function startTimeTask(){
source /etc/profile
source /root/.bash_profile
touch /var/spool/cron/root
echo "**设置定时任务开始, 重启时间:每周一凌晨2点"
crontab -l > conf && echo "0 2 * * 1 /opt/datanet/monitor.sh >> /opt/datanet/monitor.log 2>&1 &" > /var/spool/cron/root
if [ $? -eq 0 ]
then
echo "**设置定时任务成功"
else
echo -e "\033[31m**设置定时任务失败\033[0m"
fi
#启动服务
/sbin/service crond start
if [ $? -eq 0 ]
then
pid=`ps gaux | grep "crond" | grep -v grep |head -n 1| awk '{print $2}'`
echo "**启动定时任务成功,pid=${pid}"
else
echo -e "\033[31m**启动定时任务失败\033[0m"
fi
}