ubuntu16定时任务crontab

ubuntu16定时任务crontab

缘起

最近在ubuntu16上配置了个定时任务,好长时间没配置好,
后来发现问题,cron配置文件换行符必须是 unix格式,否则执行不成功

cron文件语法

crontab是linux中周期性的执行任务的一个守护进程,与windows下的计划任务类似
crontab使用最小维度为分钟

小时星期命令注释
0-590-231-311-120-6cmd注释
5****ls每小时的第5分钟执行一次ls
305***ls每天的 5:30 执行ls
3078**ls每月8号的7:30分执行ls命令
30586*ls每年的6月8日5:30执行ls命令
306**0ls每星期日的6:30执行ls 0表示星期天
*/5****ls每5分钟执行ls
*/1****ls每1分钟执行ls
0****ls每小时执行
00***ls每天执行
00**0ls每周日执行
001**ls每月执行
0011*ls每年执行
15,30,45,59****ls每隔15分钟执行一次ls
* 代表取值范围内的所有可用的值,例如*在指代month时表示每月执行
/ 代表”每”,指定步进设置,如0-59/2定义每两分钟执行一次
- 代表从某个数字到某个数字,例如1-4意思是整数1,2,3,4
, 分开几个离散的数字,如:3,4,6,8表示这四个指定整数

crontab 命令

crontab -l #列出某个用户cron服务的详细内容
crontab -r #删除某个用户的cron服务
crontab file [-u user] #用指定的文件替代目前的
crontab -e #编辑某个用户的cron服务
crontab-c dir #指定crontab的目录

举例来说明

crontab.cron 换行符必须是 unix格式,否则执行不成功
换行符错误时cron日志:(/root/crontab/syncDuser/syncDuser.sh^M)
换行符正确时cron日志:(/root/crontab/syncDuser/syncDuser.sh)

定时执行syncDuser.sh脚本

在/root/crontab下创建 crontab.cron 文件 内容见下面例子

crontab crontab.cron  #将定时文件加到到订时器中
crontab -l  #检测定时任务有没有加入系统中,能看到上面2个定时任务说明成功;
crontab -r  #取消所有定时任务

crontab.cron内如如下

#每隔1分钟执行
*/1 * * * * /root/crontab/syncDuser/syncDuser.sh
#每天早上3点执行
0 3 * * * /root/crontab/syncDuser/syncDuser.sh

syncDuser.sh内容如下,每次执行创建一个txt文件,并写入“开始”
请先保证手动执行无误,再定时执行

#!/bin/bash

logFile=/root/crontab/syncDuser/bak/"`date +'%Y%m%d-%H-%M'`".txt;
echo "===开始==" >> ${logFile};

查看crontab日志

Ubuntu16中crontab默认日志没有开启,建议不要开

vim /etc/rsyslog.d/50-default.conf #修改rsyslog配置文件
cron.* /var/log/cron.log #将cron前面的注释符去掉
service rsyslog restart #重启rsyslog
less /var/log/cron.log #查看crontab日志
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值