crontab 定时任务

使用方式:


crontab -l 列出用户目前的crontab

crontab -e 编辑用户目前的crontab

crontab -r 删除用户目前的crontab

crontab -c dir- 指定crontab的目录

crontab [-u user]指定要设置定时器定用户名

crontab file [-u user] 用指定的文件替代目前的crontab

 

基本格式:

minute h(hour) dom(day of month) mon(month) dow(day of week) command

第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令

 

除了数字还有几个个特殊的符号就是 * / - ,

*代表所有的取值范围内的数字

"/"代表每的意思,"*/5"表示每5个单位

"-"代表从某个数字到某个数字

","分开几个离散的数字

 

例如:


30 21 * * * /usr/local/etc/rc.d/lighttpd restart  

每天21:30重启 lighttpd

 

45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart

每月1、10、22日的4:45重启 lighttpd

 

10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart
每周六、周日的1 : 10重启
lighttpd

 

0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart
每天18 : 00至23 : 00之间每隔30分钟重启
lighttpd

 

0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart
每周六的23:00重启apache

 

* */1 * * * /usr/local/etc/rc.d/lighttpd restart
每一小时重启apache

 

* 23-7/2 * * * /usr/local/etc/rc.d/lighttpd restart
晚上11点到早上7点之间,每隔2小时重启
lighttpd

 

0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart
每月的4号与每周一到周三的11点重启
lighttpd

 

0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart
1月1日4:00重启
lighttpd

 

注意 :

当程序在你所指定的时间执行后,系统会寄一封信给你,显示该程序执行的内容,若是你不希望收到这样的信,请在每一行空一格之后加上 > /dev/null 2>&1 即可。

 

如果是定时启动shell脚本,需要在启动命令前加sh

例如:

0 11 4 * mon-wed sh /usl/local/haha.sh

 

整理自:百度搜索

 

 

<think>我们正在讨论Linux中如何使用crontab创建和管理定时任务。根据引用内容,我们可以总结如下:1.**查看当前用户的定时任务**:使用命令`crontab-l` [^1][^2]2.**编辑定时任务**:使用命令`crontab-e`进入编辑模式,可以添加、修改或删除任务,然后保存退出[^1][^3]3.**删除所有定时任务**:使用命令`crontab-r`会删除当前用户的所有定时任务。如果希望删除前确认,可以使用`crontab-i-r`或`crontab-ri`,这样系统会询问是否删除[^1]4.**直接编辑系统文件**:还可以通过直接编辑系统文件 `/etc/crontab`来添加定时任务(需要root权限)[^3] 此外,crontab的语法格式为:``` ** ** *command_to_execute|| || || || |-----星期几(0-7)(星期天为0或7)| || -------月份 (1 -12) || ---------日(1-31)| -----------小时 (0 -23) -------------分钟(0-59)``` 例如:-每天凌晨2点行:`02 ** */path/to/script.sh` -每周一中午12点:`012 **1 /path/to/command` 现在,我将按照用户要求生成相关问题。</think>### 如何在Linux中使用crontab创建和管理定时任务 #### 一、基本操作命令 1. **创建/编辑任务** 使用 `crontab -e` 命令编辑当前用户的定时任务表[^3]。系统会自动打开默认编辑器(如vim),添加格式为: ```bash * * * * * command_to_execute │ │ │ │ │ │ │ │ │ └─ 星期 (0-7, 0和7=周日) │ │ │ └─── 月份 (1-12) │ │ └───── 日 (1-31) │ └─────── 小时 (0-23) └───────── 分钟 (0-59) ``` 示例:每天3:30行备份脚本 `30 3 * * * /home/user/backup.sh` 2. **查看任务** `crontab -l` 列出当前用户的定时任务[^1][^2] 3. **删除任务** - 删除所有任务:`crontab -r` - 安全删除(需确认):`crontab -i -r` [^1] #### 二、系统级管理 1. **全局任务配置** 管理员可直接编辑 `/etc/crontab` 文件(需root权限)[^3],格式需指定用户: ```bash * * * * * username command ``` 2. **服务状态检查** ```bash systemctl status cron # 检查cron守护进程状态 ``` #### 三、高级技巧 1. **特殊字符** - `*/5 * * * *`:每5分钟 - `0 8-18 * * 1-5`:工作日8-18点整点 2. **日志查看** 任务行日志位于:`/var/log/syslog`,搜索关键词`CRON` 3. **环境变量问题** 脚本中建议使用绝对路径,或在crontab开头声明环境变量: ```bash PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin ``` #### 四、注意事项 1. 新任务无需重启服务,cron会自动检测文件变化[^2] 2. 测试任务时建议先设置未来2分钟行,避免长时间等待 3. 权限问题:用户级任务以该用户权限行,系统级任务需指定用户 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值