linux计划任务有两类

at:未来某个时间点仅执行一次任务就结束的指令,at指令执行时必须要有atd这个服务支持。

crontab:可以以时间单位为分钟,小时,每天,每周,每月,每年等循环执行某任务。

单一任务at介绍:

语法格式:at -[lfdcq] TIME

常用选项:

-l 查看作业队列,相当于atq

-f 从某个指定文件文件中读取作业任务,不通过交互式输入。

-d 删除指定的作业任务,相当于atrm。

-c 查看指定作业具体内容。

-q QUEUE指明队列。

TIME时间格式有:

HH:MM 小时:分钟 例如04:00

HH:MM YYYY-MM-DD 小时:分钟 年-月-日 例如15:00 2017-11-25

HH:MM[am|pm] [Month] [Date] 例如:04pm July 30

HH:MM[am|pm] + number [minutes|hours|days|weeks]在某个时间点再加几个时间后执行

例如:now + 5minutes 5分钟后执行

04pm + days三天后下午4点执行

[root@dxlcentOS ~]# at 15:55 2017-11-25 在15点55分执行:切换到tmp目录,执行ls命令

at> /usr/bin/cd /tmp

at> /usr/bin/ls

at>

job 3 at Sat Nov 25 15:55:00 2017

注意:输入结束后按ctrl+d,任务输入结束at> ,执行结果屏幕不会显示,会以邮件形式发送到邮箱。要是没有mail命令,进行yum -y install mailx安装。

batch命令:系统空闲时才进行的背景任务,他是通过at下达的。

周期性任务计划cron

执行周期性任务要确保crond守护进程在运行。

执行pstree,要是crond运行起来可以看到。

或者执行:~]# systemctl status crond (centos7)

Active: active (running) … …

centos6:~]# service crond status

… is running

有时候为了安全起见,可以将不允许某些用户执行周期性任务的用户名添加到/etc/cron.deny文件里面即可。

cron任务分类:分系统cron任务和用户cron任务

系统cron任务:主要用于维护系统自身。

可以手动编辑/etc/crontab文件实现。

系统cron任务格式

1 SHELL=/bin/bash 使用哪种shell接口

2 PATH=/sbin:/bin:/usr/sbin:/usr/bin 执行文件搜索路径

3 MAILTO=root 以email将数据发给谁

4

5 # For details see man 4 crontabs

6

7 # Example of job definition:

8 # .---------------- minute (0 - 59)

9 # | .------------- hour (0 - 23)

10 # | | .---------- day of month (1 - 31)

11 # | | | .------- month (1 - 12) OR jan,feb,mar,apr ...

12 # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat

13 # | | | | |

14 # * * * * * user-name command to be executed

(1) 每一行定义一个周期性任务,共7个字段。

* * * * * : 定义周期性时间。

user-name : 运行任务的用户身份。

command to be executed:要执行的任务。

(2) 此处的环境变量不同于用户登录后获得的环境,因此,建议命令使用绝对路径,或者自定义PATH环境变量;

(3) 执行结果以邮件形式发送给MAILTO指定的用户。

用户cron任务:

当用户使用crontab命令来建立周期任务后,这项工就会被记录到/var/spool/cron/USERNAME这个文件中去,

他们以用户名来区分。

crontab [-u username] [-l|-e|-r]

-u 只要有root用户才能进行这个任务,即为其他用户建立或删除crontab任务。

-l 列出所有任务。

-e 编辑任务。

-r 删除所有crondtab任务,即删除/var/spool/cron/USERNAME文件,若要删除一项,可以用-e选项去编辑。

用户周期性任务定义格式:

* * * * * command to be executed

对应意义为:分 时 日 月 周 用户指令

每行定义一个任务,共六个字段。任务执行后的结果以邮件发给用户。

周期任务时间表示法:

分(0-59) 时(0-23) 日(1-31) 月(1-12) 周 (0-7 0和7都代表星期天)

星号* :表示任何时刻意思

逗号",":b表示时段分隔,指定多个时间点做某事,例如当我要下达的任务是在每天3:00月6:00时,

0 3,6 * * * COMMAND 时间参数还是5栏

减号“-”:表示一段时间范围,例如我要在8点到12点之间的每小时20分进行一

项工作, 20 8-12 * * * COMMAND

/n :n代表数字,即是每隔n个时间单位意思,例如每5分钟进行一次。

*/5 * * * * COMMAND

常见实例:

示例:

(1) 3 * * * *:每小时执行一次;每小时的第3分钟;

(2) 3 4 * * 5:每周执行一次;每周5的4点3分;

(3) 5 6 7 * *:每月执行一次;每月的7号的6点5分;

(4) 7 8 9 10 *:每年执行一次;每年的10月9号8点7分;

(5) 9 8 * * 3,7:每周三和周日8点09分;

(6) 0 8,20 * * 3,7:每周三和周日8点和20

(7) 0 9-18 * * 1-5:每周一到周五9点到18点

(8) */5 * * * *:每5分钟执行一次某任务;

应用实例:

1.每4小时执行一次对/etc目录的备份,备份至/backup目录中,保存的目录名为形如etc-201504020202

[centos@dxlcentOS ~]$ crontab -e 进入编辑界面

0 */4 * * * /usr/bin/cp -a /etc /backup/etc-$(date +\%Y\%m\%d\%H\%M)

2.每周2,4,6备份/var/log/messages文件至

/backup/messages_logs/目录中,保存的文件名形如messages-20150402

[centos@dxlcentOS ~]$ crontab -e

0 0 * * 2,4,6 /usr/bin/cp -a /var/log/messages /backup/messages-$(date +\%Y\%m\%d)

3.每天每两小时取当前系统/proc/meminfo文件中的所有以S开头的信息至/stats/memory.txt文件中

[centos@dxlcentOS ~]$ crontab -e

0 */2 * * * /usr/bin/cat /proc/meminfo | grep "^S" >> /stats/memory.txt

4.工作日的工作时间内,每两小时执行一次echo ”howdy”

[centos@dxlcentOS ~]$ crontab -e

0 9-18/2 * * 1-5 /usr/bin/echo “howdy”

总结:1.cron周期任务最小时间单位是分钟。

2.定义COMMAND时,如果命令需要用到%,需要对其转义;但放置于单引号中的%不用转义亦可。

3.某任务在指定的时间因关机未能执行,下次开机不会自动执行。

4.当修改之前定好的任务或新增循环任务时最好执行一下systemctl restart crond。

5.如果是系统管理使用的循环任务最好写入/etc/crontab。

6.避免系统资源分配不均,周与日月不可以同时并存。

7.为了避免计划任务不执行,计划任务中的命令最好使用绝对路径。

anacron可换醒停机期间的工作任务

cron循环任务设定后,要是服务器因意外关机,那么在停机期间,cron设定的循环任务是不会运行的,当服务器开机后,也不会执行过去到达时间点的循环任务,只能等待下个时间点到来才执行。要想重新执行,anacron就可以解决这个问题。

anacron 是一个程序不是一个服务,当centos进入crontab排程时,anacron 会主动每一小时运行一次。

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/88965

linux计划任务执行bin文件,Linux任务计划和周期性任务执行相关推荐

  1. 如何在 Linux 下执行 bin 文件

    什么是 .bin 文件? .bin 文件是在 Linux 和类 Unix 操作系统上的自执行文件.在执行 .bin 文件之前,你需要给它执行权限.这可以通过命令行或者 gui 完成. chmod +x ...

  2. 计划任务执行php文件,linux系统下添加计划任务执行php文件方法

    在web开发过程中,经常需要设定一些定期执行的任务,比如商品定时上下架.我们以php文件为例,讲解linux下的计划任务. 方法/步骤 1.打开linux系统命令行界面. 在命令行界面中输入如下命令: ...

  3. linux将屏幕输出到文件,Linux命令执行的屏幕输出内容重定向到日志文件

    摘要: 作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处 快速mark一下这个命令细节,免得以后使用又忘记了 大家都知道可以用echo来输出内容到 ...

  4. linux误删 bin目录,记linux下rm误删bin文件的解决方式

    平常有个坏习惯,删文件为了快点,喜欢用rm xx*,删除一些关键词文件.今天为了删/bin下几个含有mix关键词的文件,使用命令rm mix*.手贱,mix和*之间多了个空格...灾难发生了!bin下 ...

  5. linux crontab把内容输出文件,linux crontab详解

    任务调度文件位置: /etc/crontab 编辑调度文件的命令: crontab  -e 执行: 调度任务进程会在满足预设时间条件后自动执行 我的系统的crontab文件[root@uyhd0002 ...

  6. linux中的改变bin级别,Linux常用命令

    关机命令:shutdown -h now / shutdown -r now / reboot 切换图形化界面:startx      切换到命令行:注销即可 添加用户:useradd xiaomin ...

  7. linux压缩指定时间的文件,Linux下压缩某个文件夹(文件夹打包)

    tar -zcvf /home/xahot.tar.gz /xahot tar -zcvf 打包后生成的文件名全路径 要打包的目录 例子:把/xahot文件夹打包后生成一个/home/xahot.ta ...

  8. linux查看mysql连接日志文件,linux下查看mysql日志文件的方法

    查看mysql日志方法: mysql默认不允许我们查看日志.需要更改一些设置 1 vi 更改配置文件 允许用户查看日志文件 sudo vi /etc/mysql/mysql.conf.d/mysqld ...

  9. 使用mkiso向服务器传文件,Linux mkisofs 创建光盘镜像文件(Linux指令学习笔记)

    mkisofs命令 创建光盘文件的系统的命令是mkisofs.光盘系统有多种格式,利用Linux系统提供的光盘文件系统创建 命令mkisofs,可以创建多种iso9660文件系统. 我们一般不用mki ...

最新文章

  1. python 利用模板文件生成配置文件
  2. 多伦多一人学计算机科学本科,加拿大多伦多大学计算机科学Essay要求
  3. DL之DNN:利用MultiLayerNet模型【6*100+ReLU+SGD】对Mnist数据集训练来理解过拟合现象
  4. c++ 嵌套类 内部类
  5. python同时满足两个条件_python算法-快速寻找满足条件的两个数
  6. “Hello, my first blog”------第一篇博客的仪式感
  7. I2C总线简介(很经典)
  8. 剪贴板是计算机系统,剪贴板在哪里,手把手教你如何打开电脑剪贴板
  9. 我终于搞清了啥是 HTTPS 了
  10. DDR从channel/rank/chip/bank/row/col/cell,DDR/GDDR/HBM
  11. vue.js 构建项目_使用Vue.js和AWS Amplify构建Chatbot
  12. Java并发原理解析!docker命令
  13. 制作Android开机动画 bootanimation.zip
  14. max9286 四合一_MAX9286+HI3519 +MAX96705方案分享
  15. 2018年牛客多校算法寒假训练营练习比赛(第四场)
  16. 傻白入门芯片设计,典型的2D/2D+/2.5D/3D封装技术(六)
  17. FFMpeg杂音问题解决方案
  18. html语言涉及到的专业,HTML语言专业学习.ppt
  19. MSP430G2553IPW28R 混合信号微处理器 封装:TSSOP28
  20. Ubuntu 16.04 LTS (Xenial Xerus)

热门文章

  1. Linux驱动编程 step-by-step (七) 并发 竞态 (信号量与自旋锁)
  2. react router4 需要配置2遍BrowserRouter
  3. Spring Cloud Config 加密和解密
  4. 【Tomcat】Tomcat性能分析
  5. libxxx.so- text relocations问题的终极解决方案
  6. Fedora9安装中文输入法
  7. 学习iBatis时的一个苦逼经历
  8. sourceTree安装与使用
  9. 【转载】12306铁道部订票网站性能分析
  10. Asp.Net生命周期系列二