Ubuntu下的crontab命令处理定时任务

本文详细介绍了在Ubuntu系统中如何使用CronTab进行定时任务的设置,包括服务控制命令、CronTab的基本语法及参数说明,通过具体实例展示了如何设定不同频率的执行任务,适用于系统管理员和自动化脚本的开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Ubuntu下的crontab命令处理定时任务

服务相关:
sudo service cron start
sudo service cron stop
sudo service cron restart  
命令(参数):
crontab [-u user] file: [-u user] 是指设定指定用户的时程表, 默认是设定自己的时程表。 file是命令文件的名字
crontab -e: 执行文字编辑器来设定时程表, 第一次执行会让你选择文字编辑器
crontab -r: 删除目前的时程表 
crontab -l: 列出目前的时程表 
crontab -v: 列出用户cron作业的状态
基本格式:
基本格式 : 
*  *  *  *  *  command 
分 时 日 月 周 命令 
第1列表示分钟159 每分钟用*或者 */1表示 
第2列表示小时1230表示0点) 
第3列表示日期1314列表示月份1125列标识号星期060表示星期天) 
第6列要运行的命令 

补充 :
当第一列为 * 时表示每分钟都要执行command,第二列为 * 时表示每小时都要执行程序,以此类推 
当第一列为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,第二列为 a-b 时表示从第 a 到第 b 小时都要执行,以此类推
当第一列为 */n 时表示每 n 分钟个时间间隔执行一次,第二列为 */n 表示每 n 小时个时间间隔执行一次,以此类推 
当第一列为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,第二列为 a, b, c,... 时表示第 a, b, c...个小时要执行,以此类推
实例:
实例一(入门):
* * * * * date >> ~/time.log        # 每隔一分钟将时间写入time.log 
0 * * * * date >> ~/time.log        # 每小时的0点将时间写入time.log ,比如1:00, 6:0012:00  
6,10 * 2 * * date >> ~/time.log     # 每个月2号,每小时的6分和10分将时间写入time.log  
*/3,*/5 * * * * date >> ~/time.log  # 每隔3分钟或5分钟将时间写入time.log,比如2:036:0510:06 

实例二(进阶):
系统管理员需要每天做一定的重复工作,编制一个解决方案:
(1) 从下午 450 删除/abc 目录下的全部子目录和全部文件;
(2) 从早上 800~下午 600每小时读取/xyz目录下x1 文件中每行第一个域的全部数据加入到/backup目录下的 back01.txt文件内;
(3) 每逢周一下午 550 将/data目录下的所有目录和文件归档并压缩为文件backup.tar.gz;
(4) 在下午 555 将IDE接口的CD-ROM缷载(假设CD-ROM的设备名为 hdc);

使用crontab添加如下来完成:
crontab -e
———————–-----------------------------
50 16 * * *        rm-rf/abc/*
00 08-18 * * * awk ‘{print $1 }’ /xyz/x1  >>  /backup/back01.txt
50 17 * * 1     tar -zcvf  /backup/backup.tar.gz  /data
55 17 * * *        umount  /dev/hdc
———————–-----------------------------

参考:
https://blog.youkuaiyun.com/tianmohust/article/details/7436064

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值