巴中热线

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 3494|回复: 0

[电脑网络] linux系统计划任务配置参数详解和实例

[复制链接]
发表于 2020-10-24 13:50:36 | 显示全部楼层 |阅读模式

注册巴中热线论坛,交好友享优惠,衣食住行吃喝玩乐尽在 BZHOT.com

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
一、crontab基础知识
# service crond start  ---查看crontab服务是否启动
# ps -ef|grep crond    ---查看crontab进程
# crontab --help       ---查看使用帮助
# crontab -u root -l   ---查看root用户当前是否有自动执行计划
# crontab -l           ---查看计划任务配置

crontab参数:
-e  编辑该用户的计时器设置。
-l  列出该用户的计时器设置。
-r  删除该用户的计时器设置。
-u   <用户名称>  指定要设定计时器的用户名称。

二、执行编辑计划任务配置报错如下:
# crontab -e
no crontab for root - using an empty one
crontab: no changes made to crontab
提示:no changes made to crontab

# crontab -l
no crontab for root
提示:root用户没有crontab计划任务配置

解决方法:
1、用root用户去编辑crontab配置
# crontab -u root -e
no crontab for root - using an empty one
crontab: installing new crontab
提示:crontab: installing new crontab,应该是ok了。

2、在弹出的vi界面 写入:
* */1 * * * echo "Have a good dream" >> /tmp/test.txt
---意思是每隔1分钟,向 /tmp/test.txt 文件里面累加输入一条“Have a good dream” 信息。
---注:/tmp/test.txt 这个test.txt 是会自动生成的。

3、保存退出
:wq

三、crontab语法介绍
/etc/crontab文件语法格式如下:

Minute     Hour     Day    Month     Dayofweek     command
分钟       小时     天     月        天每星期      命令

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

每个字段代表含义如下:
Minute        每个小时的第几分钟执行该任务
Hour          每天的第几个小时执行该任务
Day           每月的第几天执行该任务
Month         每年的第几个月执行该任务
DayOfWeek     每周的第几天执行该任务
Command       指定要执行的程序,如果是运行脚本,要加执行权限( chmod 777 *.sh)。

在这些字段里,除了“Command”是每次都必须指定的字段以外,其它字段皆为可选字段,可视需要决定。对于不指定的字段,要用“*”号来填补。
同时,cron支持类似正则表达式的书写,支持如下几个特殊符号定义:

"*" 代表取值范围内的数字,
"/" 代表"每",
"-" 代表从某个数字到某个数字,
"," 分开几个离散的数字


计划任务实例:
0      6       *          *     *    echo "Good morning." >> /tmp/test.txt     每天早上6点
5      *       *          *     *     ls             指定每小时的第5分钟执行一次ls命令
30     5       *          *     *     ls             指定每天的 5:30 执行ls命令
30     7       8          *     *     ls             指定每月8号的7:30分执行ls命令

30 3 * * 1,4,7 reboot  每周的1,4,7的凌晨3点半重启服务器  
17 5 * * 0 /etc/cleanup > /dev/null   每周星期日5:17清除系统上的某些日志文件
0 2 * 1 * rm -rf /usr/userbk*.log   每月1日2:00删除/usr/userbk下的日志文件

上一篇:linux系统命令行访问samba共享文件夹方法
下一篇:linux系统根据关键字统计去重方法
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

巴中热线 - 精彩推荐上一条 /1 下一条

快速回复 返回顶部 返回列表