管理员控制台能够允许你对 Confluence 运行的计划任务进行计划的调整,这些计划任务将会按照你的调整按时执行。 你需要具有系统管理员权限才能对计划任务进行编辑和手动运行。 https://www.cwiki.us/display/CONF6ZH/Scheduled+Jobs
1.crontab(定时任务,计划任务) #crontab -u -u:指定一个用户 -l:列出某个用户的任务计划 -r:删除某个用户的任务 -e:编辑某个用户的任务 2.显示行意义解析: 00 02 * * 6 /sbin/reboot > /dev/null 2>&1 表示每个周六的零晨2点进行重启. Minute Hour Day Month Week command 分钟 小时 天 月 星期 命令 0-59 0-23 1-31 1-12 0-6 command Minute:每个小时的第几分钟执行该任务 * ls:指定每年的6月8日5:30执行ls命令 30 6 * * 0 ls:指定每星期日的6:30执行ls命令[注:0表示星期天,1表示星期1,以此类推,也可以用英文来表示,sun表示星期天,mon表示星期一等 */10 * * ls:每个月中,每隔10天6:30执行一次ls命令[即每月的1、11、21、31日是的6:30执行一次ls命令 ] 每天07:50以root 身份执行/etc/cron.daily目录中的所有可执行文件
希望访问 Confluence 计划任务配置界面: 进入 ? > 基本配置(General Configuration) > 计划任务(Scheduled Jobs) 所有的计划任务将会按照下面的格式列出来: 状态(Status )- 这个计划任务的状态。 Duration) - 计划任务的执行时间(毫秒)这个时间表示的是这个计划任务执行完成所消耗的世界(上次任务完成所需要的时间)。 操作(Actions) - 对计划任务可以进行操作,包括编辑,手动运行,查看历史或者禁用这个任务。 屏幕截图:计划任务 ? https://www.cwiki.us/display/CONF6ZH/Scheduled+Jobs
RHEL6系统中默认已安装了at、crontab软件包,通过atd和crond这两个系统服务实现一次性、周期性计划任务的功能,并分别通过at、crontab命令进行计划任务设置。 计划任务分为一次性和循环性的计划任务 一、一次调度执行-----at 作用: 计划任务主要是做一些周期性的任务,目前最主要的用途是定期备份数据 一次性调度执行 at---实战 语法格式 at //编辑当前用户的计划任务 管理员可以使用 -u username, 去管理其他用户的计划任务 语法格式 : Minutes Hours Day-of-Month Month ~]# crontab -e #当前用户编写计划任务 每天6:00执行ini 0 6 * * * /home/soso.sh 每天8:40执行 40 8 * * * /home/soso.sh 每周六凌晨4:00执行 0 4 * * 6 /home/soso.sh 每周六凌晨4:05执行 5 4 * * 6 /home/soso.sh
at 属于一次性的计划任务 at 时间 命令脚本 ctrl+d 提交 atq at -l 查看计划任务 at -d N 删除计划任务 /var/spool/at 配置文件在/etc/at.deny /etc/at.allow 优先级高于deny crontab 周期性计划任务 crontab -l 查询计划任务 crontab -l -u Tom crontab -e 添加计划任务 时间格式
另外, 由于使用者自己也可以设置计划任务,所以, Linux 系统也提供了使用者控制计划任务的命令:crontab命令。因此,Linux计划任务整体还是围绕Crontab展开的。 逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9” 中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6” 正斜线(/):可以用正斜线指定时间的间隔频率 * ls 指定每年的6月8日5:30执行ls命令 30 6 * * 0 ls 指定每星期日的6:30执行ls命令[注:0表示星期天,1表示星期1,以此类推,也可以用英文来表示,sun表示星期天,mon表示星期一等 */10 * * ls 每个月中,每隔10天6:30执行一次ls命令[即每月的1、11、21、31日是的6:30执行一次ls命令 ] 每天7:50以root 身份执行/etc/cron.daily目录中的所有可执行文件 Linux计划任务和Windows计划任务还是有一定的差异的,Linux系统更加专业化,对使用者的要求更高。
计划任务 crontab、at 日 月 周 命令 第1列表示分钟1~59 (每分钟用或者 /1表示,*/5 代表每5分钟) 第2列表示小时1~23(0表示0点) 第3列表示日期1~31 第4列表示月份1~12 第5列标识号星期0~6( 0表示星期天) 第6列要运行的命令 实用命令 crontab -l #查看计划任务列表 crontab -e #进入编辑计划任务模式 grep 'SSH' /var/spool/cron/root 10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart 每周六、周日的1 : 10重启apache。 0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart 每星期六的11 : 00 pm重启apache。
系统通过计划任务来定期来删除这些临时文件! 三、周期执行的计划任务 相对于 at 是仅执行一次的工作,周期执行的计划任务则是由 crond这个系统服务来控制的。 -e :建立计划任务 -l :查看计划任务 -r :删除所有计划任务,若只删除一项,只能使用-e进行编辑 [root@zutuanxue ~]# crontab -e #执行后会打开一个vim 如3:00 与 6:00 时,就是:0 3,6 * * * -(减号) 代表一段时间范围内,如:8 点到 12 点之间的每小时的 20 分都进行一项工作:20 8-12 * * * /n(斜线) n 代表数字 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6)
Linux 中有时会遇到需要定时自动执行任务的情况,本文记录Linux 计划任务相关命令。 计划任务 计划任务指的是需要定时自动执行或周期执行的工作任务 linux系统中,可以通过cron和at两种命令实现计划任务 at 单次计划任务 指的是定时执行一次的计划任务,可以使用 at 命令完成 (相当于一个空的/etc/at.allow文件) cron 周期性任务计划 命令用法 命令选项 含义 -e 编辑计划任务 edit -l 查看计划任务 display -u 指定用户 45 4 1,10,22 * * /usr/bin/systemctl restart network 每月1、10、22日的 4:45 重启network服务 10 1 * * 6,7 /usr/ systemctl restart smb 一月一号的4点重启smb 0 23-0/1,1-7/1 * * * /usr/bin/systemctl restart smb 0 23,0,1,2,3,4,5,6,7
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9” 中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6” 正斜线(/):可以用正斜线指定时间的间隔频率
Quartz 是开源任务调度框架中的翘首,它提供了强大任务调度机制,同时保持了使用的简单性。Quartz 允许开发人员灵活地定义触发器的调度时间表,并可以对触发器和任务进行关联映射。此外,Quartz提供了调度运行环境的持久化机制,可以保存并恢复调度现场,即使系统因故障关闭,任务调度现场数据并不会丢失。此外,Quartz还提供了组件式的侦听器、各种插件、线程池等功能。
计划任务的分类: 一次性计划任务:只执行一次 周期性计划任务:每隔一定的周期去做相同的事情 设置计划任务的工具:at、crontab at:专门处理一次性的计划任务 crontab:专门定义周期性计划任务 ,周期性循环做任务 batch:系统自行选择空闲时间去执行指定的任务 一.一次性计划任务at 系统服务路径:/etc/init.d/atd # root @ duiyi in ~ [20:24:36] 从2点开始,每5分钟执行一次任务 */5 * 1,5,10 * 5,6 root /bin/echo “hello world!” 2.4 anacron系统 运行计算机关机时cron不运行的任务,CentOS6以后的版本取消了anacron服务,由crond服务管理 对笔记本电脑、台式机、工作站、偶尔要关机的服务器及其它不一直开机的系统很重要对很有用 控制用户执行计划任务:/etc/ cron.allow 、/etc/cron.deny 在at和crontab中不要使用标准输出,因为即使没有标准输出,也会以邮件方式发送给你,所以尽量不使用标准输出,可以
关于crontab的使用,可参考文章:Linux计划任务crontab详解 一、在Crontab中使用PHP执行脚本 就像在Crontab中调用普通的shell脚本一样(具体Crontab用法),使用PHP */10 * * * * /usr/bin/wget -q -O temp.txt http://3aj.cn/script.php 再介绍一下在Windows下php计划任务的实现 1、新建一个3aj.php > 2、新建3aj.bat文件,内容如下: C:\php\php.exe -q D:\web\3aj.php 3、建立WINDOWS计划任务: 开始–>控制面板–>任务计划–>添加任务计划 浏览文件夹选择上面的 4、右键点击计划任务 -> “运行”即可 再介绍一个使用php程序来实现的计划任务 这种效率并不高,也不稳定,使用 crontab 才是王道。 <?
Linux上还是在Windows上都是不可或缺的,它帮助了我们运维人员减少手动操作的工作量;计划任务:scheduled task Linux下的任务调度分为两类:系统任务调度和用户任务调度。 nohup /root/for.sh & ---- 0x02 计划任务 at 命令 描述:用于在指定时间执行命令,允许使用一套相当复杂的指定时间的方法,它主要是在centos6以下才预装;(建议采用crontab * 逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9” * 中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6” * 正斜线(/):可以用正斜线指定时间的间隔频率 ,具体任务为输出test字符 @reboot echo test #表示每小时执行一次计划任务,具体任务 为输出test字符 @hourly echo test WeiyiGeek.示例2 补充入坑 描述: 老版的cron计划任务,日志输出到解决办法/var/log/syslog 解决办法: 定时任务尾部增加重定向输出到log的参数,例:>/var/log/cron.log 2>&1 问题6.docker
#计划任务存储的位置 [root@JX01 ~]# ls /var/spool/cron/ root jack alice #管理计划任务的命令 crontab: -l Displays #计划任务书写的格式 .---------------- minute (0 - 59) | .-------------- hour (0 - 23) | | .------------ day of (1 - 31) | | | .---------- month (1 - 12) OR jan,feb,mar,apr ... | | | | .-------- day of week (0 - 6) :00整 00 02 1 * * ls //每月1号2:00整 00 02 14 2 * ls //每年2月14号2:00整 00 02 * * 7 ls //每周日2:00整 00 02 * 6 5 ls //每年6月的周五2:00整(特殊) 00 02 14 * 7 ls //每月14号2:00整 或者 每周日2:00整,这两个时间都执行 00 02 14 2 7 ls //每年2月14
(1)我们要用yum install -y vixie-cron这个命令进行安装计划任务服务,小伙伴们可以在安装之前使用crontab -e进行检测一下,服务器是否安装了这个服务! (2)安装之后呢,我们使用crontab -e 就可以添加我们的计划任务了,我给大家书写一些小例子: */1 * * * * /usr/bin/curl -o temp.txt http://www.baidu.com /index.php/Api/Contab/offeredCoupon 上面的例子表示每月1、10、22日的4 : 45执行以下Api 分组下面的offeredCoupon方法 10 1 * * 6,0 周 命令 第1列表示分钟1~59 每分钟用*或者 */1表示 第2列表示小时1~23(0表示0点) 第3列表示日期1~31 第4列表示月份1~12 第5列标识号星期0~6( 0表示星期天) 第6列要运行的命令 (3)编好文件之后,按ESC键,之后(:wq)保存退出 (4)service crond restart 重启计划任务
crontab 循环执行计划任务是由 cron(crond)这个系统服务来控制的,该服务默认启动,用户控制计划任务的命令是 crontab crontab -e 是针对用户来设计的,如要设计系统的计划任务 ,则需编辑 /etc/crontab cron 服务最低检测限制是【分钟】 命令格式: crontab 选项 # 选项 -e:编辑该用户的计划任务设置 -l:列出该用户的计划任务设置 -r:删除该用户的计划任务设置 表示“2,3,4,5,6” 正斜线(/):正斜线指定时间的间隔频率,可以和星号一起使用,例如*/10,如用在minute表示每10分钟执行1次 # 时间格式 * * * * * - - - - - | | | | | | | | | +----- 星期中星期几 (0 - 6) (星期天 为0) | command # 每月1、10、22日的4 : 45执行1次command 45 4 1,10,22 * * command # 每周六、周日的1:10执行1次command 10 1 * * 6,0
计划任务分为一次性计划任务与长期性计划任务,可以按照如下方式理解。 一次性计划任务 一次性计划任务只执行一次,一般用于临时的工作需求。可以用 at 命令实现这种功能,只需要写成“at 时间”的形式就行。 warning: commands will be executed using /bin/sh at> systemctl restart httpd at> job 6 at Sat Sep 24 创建、编辑计划任务的命令为 crontab -e,查看当前计划任务的命令为 crontab -l,删除某条计划任务的命令为 crontab -r。 可以使用 crontab -e 命令来创建计划任务,为自己创建计划任务时无须使用-u 参数。
.---- day of week (0 - 6) (Sunday=0 or 7) # | | | | | Command 每小时的第5分钟执行一次命令 30 18 * * * Command 指定每天下午的 6: 30 执行一次命令 30 7 8 * * Command 指定每月8号的7:30分执行一次命令 30 5 8 6 * Command 指定每年的6月8日5:30执行一次命令 30 6 * * 0 Command 指定每星期日的6:30执行一次命令 1 * * * * root # */1 * * * * root reboot 每分钟重启服务器 systemctl restart crond # 重启服务,开始执行计划任务
# at 17:00 tomorrow 明天下午5点执行 [root@ken ~]# at 6:00 pm +3 days 在3天以后的下午6点执行 crontab定时任务的使用 语法:#crontab -u -e 常用选项: -l:list,列出指定用户的计划任务列表 -e:edit,编辑指定用户的计划任务列表 -u:user,指定的用户名,如果不指定,则表示当前用户 -r:remove,删除指定用户的计划任务列表 *:表示取值范围中的每一个数字 -:做连续区间表达式的,要想表示1~7,则可以写成:1-7 /:表示每多少个,例如:想每10分钟一次,则可以在分的位置写:*/10 ,:表示多个取值,比如想在1点,2点6点执行 ,则可以在时的位置写:1,2,6 [root@localhost ~]# crontab -e 输入上面的命令编辑定时任务,相当于打开了一个vim编辑器。 45 4 1,10,22 * * systemctl restart network (每月,周没有制定) 问题2:每周六、周日的1:10重启network服务 10 1 * * 6,7