十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
周期性的执行任务计划的软件,Linux定时任务软件的常用软件crond
作为一家“创意+整合+营销”的成都网站建设机构,我们在业内良好的客户口碑。成都创新互联提供从前期的网站品牌分析策划、网站设计、成都网站设计、成都网站建设、创意表现、网页制作、系统开发以及后续网站营销运营等一系列服务,帮助企业打造创新的互联网品牌经营模式与有效的网络营销方法,创造更大的价值。
cron是定时任务的软件名
crond是服务进程名,真正实现定时任务服务
crontab命令是用来设置定时任务
01.使用定时软件,可以每天每小时按你的需求重复的执行一项工作
02.类似生活中使用的闹钟,可以自动完成操作命令,定时备份系统数据信息。
01.定时任务服务环境准备
a. 启动crond服务
关闭crond服务:systemctl stop crond.service
启动crond服务:systemctl start crond.service
查看crond服务状态:systemctl status crond.service
b.设置开机自启动
开机自启动crond服务:systemctl enable crond.service
开机不启动crond服务:systemctl disable crond.service
02.系统定时任务
a. 系统定时任务周期:
每小时 目录/etc/cron.hourly
每一天 目录/etc/cron.daily
每一周 目录/etc/cron.weekly
每个月 目录/etc/cron.monthly
b. /etc/crontab 系统定时任务的配置文件之一(有记录定时任务格式)
c. 系统定时任务+logrotate命令 完成对日志的切割/日志轮询
/var/log/cron
/var/log/messages
/var/log/secure
02.用户定时任务
用户定时任务查看 crontab -l == cat /var/spool/cron/root
用户定时任务编辑 crontab -e == vim /var/spool/cron/root
定时任务配置文件 /var/spool/cron/root (root文件表示root用户设置的定时任务,文件名是根据用户名设置的)
注:定时任务常见提示信息
a. no crontab for root 当前用户没有编辑定时任务
b. Do you want to retry the same edit 定时任务编辑错误是否继续
03.定时任务编写语法格式:
定时任务常用符号
* 每
/n 每隔
- 连续区间
, 分隔
04.定时任务编写流程
a. 测试定时执行命令(定时任务执行的命令用绝对路径)
b. 编写定时任务信息(先编写注释信息,编写定时任务)
c. 检查定时任务效果:查看定时任务日志(可以临时修改定时任务每分钟执行,最终修改定时任务的时间)
定时任务对%不识别,百分号需要转义\%
尽量使用脚本文件实现
a. 测试定时执行脚本(定时任务执行的脚本利用绝对路径/bin/sh)
b. 编写定时任务信息(先编写注释信息,编写定时任务 在任务信息后边加上/dev/null 21 避免产生很多没用的小文件占用磁盘inode)
c. 检查定时任务效果:查看定时任务日志(可以临时修改定时任务每分钟执行,最终修改定时任务的时间)
定时任务编写要领
(1)为定时任务规则加必要的注释
(2)所有的定时任务尽量都以脚本的形式执行
(3)在执行的shell脚本前加上/bin/sh
(4)在定时任务中命令或脚本的结尾加上 /dev/null 21
(5)在指定用户下执行相关定时任务
(6)生产任务计划程序中不要随意打印输出信息,有输出的想法去掉
(7)定时任务执行的脚本哟啊存放到规范路径下
(8)配置定时任务要规范操作过程,减少出错
(9)定时任务脚本中程序命令及路径尽量用全路径
(10)时间变了%号要用反斜线转义(只有定时任务里时命令时需要)
(11)若脚本中调用了系统环境变量,要重现定义
(12)出错或无法执行,就检查/var/log/cron日志
分类: 电脑/网络 操作系统/系统故障
解析:
第一种方法:
用crontab命令就可以了,下面看一下它的详细用法。名称 : crontab 使用权限 : 所有使用者 使用方式 : crontab [ -u user ] file crontab [ -u user ] { -l | -r | -e } 说明 : crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。 餐数 : -e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe) -r : 删除目前的时程表 -l : 列出目前的时程表 时程表的格式如下 : f1 f2 f3 f4 f5 program 其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程序。 当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程序,其馀类推 当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其馀类推 当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其馀类推 当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其馀类推 使用者也可以将所有的设定先存放在档案 file 中,用 crontab file 的方式来设定时程表。 例子 : 每月每天每小时的第 0 分钟执行一次 /bin/ls : 0 7 * * * /bin/ls 在 12 月内, 每天的早上 6 点到 12 点中,每隔 20 分钟执行一次 /usr/bin/backup : 0 6-12/3 * 12 * /usr/bin/backup 周一到周五每天下午 5:00 寄一封信给 alex@domain.name : 0 17 * * 1-5 mail -s "hi" alex@domain.name /tmp/maildata 每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo "haha" 20 0-23/2 * * * echo "haha" 注意 : 当程序在你所指定的时间执行后,系统会寄一封信给你,显示该程序执行的内容,若是你不希望收到这样的信,请在每一行空一格之后加上 /dev/null 21 即可
第二种方法:
使用shutdown定时关机的问题
shutdown: invalid option -- -
Usage: shutdown [-akrhfnc] [-t secs] time [warning message]
-a: use /etc/shutdown.allow
-k: don't really shutdown, only warn.
-r: reboot after shutdown.
-h: halt after shutdown.
-f: do a 'fast' reboot (skip fsck).
-F: Force fsck on reboot.
-n: do not go through "init" but go down real fast.
-c: cancel a running shutdown.
-t secs: delay beeen warning and kill signal.
** the "time" argument is mandatory! (try "now") **
我是这样的shutdown -t 54000 就是运行15小时后自动关机
这样行吗?顺便问下,还有什么更好的方法自动关机吗?
vixie-cron 软件包是 cron 的主程序;
crontabs 软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。
chkconfig --level 345 crond on
定时任务设置
使用以下命令打开配置文件,编辑文件,保存即可
示例:
linux corn 在线表达式:
注意:这里的定时表达式和java中的corn不是一样的,具体分别不细说了。