admin 管理员组文章数量: 887032
2023年12月17日发(作者:分布式和微服务)
近期要在客户的服务器上实行计划执行程序;就是要定好每天的什么时候;执行什么程序..
具体的要求如下:
1、每周一至六晚上八点自动执行数据备份操作
2、每月1号晚上零晨自动执行数据据备份操作
3、每周一至六晚上八点半自动执行一程序;进行数据库数据录入工作
起初没啥概念;后来在有经验的同事指导下;开始有所了解
每个用户都有各自不同的计划任务列表;用各自的帐户登录后运行
crontab -l
就可查看到各任务的计划任务情况;使用下列命令可以修改自己的计划任务
crontab -e
下面为一计划任务的样例
每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 mon-wed date
上面这句的意思是“每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点显示时间”;你把date改成你想执行的命令;再把执行的时间改了;就可以形成一个定时执行命令了
空格之间的参数意义如下
分钟 小时 天 月 星期 要执行的命令
详细的请参考下面我从网上抄来的
=================================
Crontab是一个很方便的在unix/linux系统上定时循环执行某个任务的程序
使用cron服务;用 service crond status 查看 cron服务状态;如果没有启动则 service crond start启动它;
cron服务是一个定时执行的服务;可以通过crontab 命令添加或者编辑需要定时执行的任务:
crontab -u crontab -l
列出当前的crontab任务
2. crontab -d
删除当前的crontab任务
3. crontab -e 上面是 crontab -r
编辑一个crontab任务;ctrl_D结束
4. crontab filename
以filename做为crontab的任务列表文件并载入
crontab file的格式:
crontab 文件中的行由 6 个字段组成;不同字段间用空格或 tab 键分隔..前
5 个字段指定命令要运行的时间
分钟 0-59
小时 0-23
日期 1-31
月份 1-12
星期几0-6;其中 0 代表星期日
第 6 个字段是一个要在适当时间执行的字符串
例子:
MIN HOUR DAY MONTH DAYOFWEEK COMMAND
每天早上6点10分
10 6 date
每两个小时
0 /2 date solaris 似乎不支持此种写法
晚上11点到早上8点之间每两个小时;早上8点
0 23-7/2;8 date
每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 mon-wed date
1月份日早上4点
0 4 1 jan date
补充:在使用crontab的时候;要特别注意的是运行脚本中能够访问到的环境变量和当前测试环境中的环境变量未必一致;一个比较保险的做法是在运行的脚本程序中自行设置环境变量export
1先建一个文件如下; 每天早上5点36分重新启动
36 5 reboot
2上传到/opt目录
3运行命令
crontab /opt/
crontab -l
让配置文件生效:如果让配置文件生效;还得重新启动cron;切记;既然每个用户下的cron配置文件修改后..也要重新启动cron服务器..
在Fedora 和Redhat中;我们应该用;
rootlocalhost ~ /etc/crond restart
如果让crond 在开机时运行;应该改变其运行级别;
rootlocalhost ~ chkconfig --levels 35 crond on
service crond status 查看 cron服务状态;如果没有启动则 service crond
start启动它; cron服务是一个定时执行的服务;可以通过crontab 命令添加或者编辑需要定时执行的任务
Crontab文件的每一行由六个域minutes、hours、day of month、month、day of
week、 command组 成;域之间用空格或Tab分开;其中:
minutes: 分钟域;值的范围是0到59
hours: 小时域;值的范围是0到23
day of month: 日期;值的范围是1到31
month: 月份;值的范围是1到12
day of week: 星期;值的范围是0到6;星期日值为0
command: 所要运行的命令
如果一个域是;表明命令可以在该域所有可能的取值范围内执行..
如果一个域是由连字符隔开的两个数字;表明命令可以在两个数字之间的范围内执行包括两个数字 本身..
如果一个域是由逗号隔开的一系列值组成的;表明命令可以在这些值组成的范围内执行..
如果日期域和星期域都有值;则这两个域都有效..
编写一个文件;用以启动自动备份进程..
cd /opt
touch
在中添加一下内容:
0 4 reboot
crontab /opt/
用crontab -e编辑定时操作;例如加入下行命令:
用crontab -l命令来查看
注意:需要启动服务添加在中
重启crond任务
/etc/cron restart ubuntu下
第一种 在Fedora或Redhat 等以RPM包管理的系统中;
rootlocalhost ~ /etc/crond start
rootlocalhost ~ /etc/crond stop
rootlocalhost ~ /etc/crond restart
/etc/crond restart
命令简介
crontab-操作每个用户的守护程序和该执行的时间表..
部分参数说明
crontab file -u user-用指定的文件替代目前的crontab..
crontab--u user-用标准输入替代目前的crontab.
crontab-1user-列出用户目前的crontab.
crontab-euser-编辑用户目前的crontab.
crontab-duser-删除用户目前的crontab.
crontab-c dir- 指定crontab的目录..
crontab文件的格式:M H D m d cmd.
M: 分钟0-59..
H:小时0-23..
D:天1-31..
m: 月1-12..
d: 一星期内的天0~6;0为星期天..
cmd要运行的程序;程序被送入sh执行;这个shell只有USER;HOME;SHELL这三个环境变量..
下面是一个例子文件:
MIN HOUR DAY MONTH DAYOFWEEK COMMAND
每天早上6点
106 date
每两个小时
0/2 date
晚上11点到早上8点之间每两个小时;早上部点
0 23-7/2;8 date
每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 mon-wed date
1月份日早上4点
0 4 1 jan date
范例
lark:~>crontab-1 列出用户目前的crontab.
MIN HOUR DAY MONTH DAYOFWEEK COMMAND
10 6 date
0/2 date
0 23-7/2;8 date
lark:~>
版权声明:本文标题:Linux定时执行程序Cronb 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1702810227h431757.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论