概念-计划任务:在某个时段自动执行某个任务  at:只执行一次

语法:at   时间

服务:atd   必须开启

如没有:yum install at -y

查看服务状态是否开启  systemctl status | start | stop | restart atd

实战-使用 at 创建计划任务

1、实例

[root@localhost ~]# date             # 查看当前时间
2018年 05月 21日 星期一 08:24:26 PDT
[root@localhost ~]# at 08:26 # 创建at计划任务 + 时间
at> mkdir ./haha # 在08:26 创建文件夹 haha
at> <EOT> # Ctrl+D 结束
job 1 at Mon May 21 08:26:00 2018 [root@localhost ~]# at -l # 查看计划任务
1 Mon May 21 08:26:00 2018 a root
任务编号 执行时间 执行者
[root@localhost ~]# ls # 过一会查看 已创建文件夹 haha
anaconda-ks.cfg haha nohup.out

2、也可以这样写--在某天

[root@localhost ~]# at 20:00 2018-5-22
at> mkdir test3
at> <EOT>
job 4 at Tue May 22 20:00:00 2018

3、在十分钟后

[root@localhost ~]# at now +5min
at> mkdir min-test
at> <EOT>
job 5 at Mon May 21 08:39:00 2018

4、删除计划任务

[root@localhost ~]# at -l
2 Mon May 21 08:36:00 2018 a root
4 Tue May 22 20:00:00 2018 a root
5 Mon May 21 08:39:00 2018 a root
6 Mon May 21 08:37:00 2018 a root
[root@localhost ~]# atrm 6
[root@localhost ~]# at -l
2 Mon May 21 08:36:00 2018 a root
4 Tue May 22 20:00:00 2018 a root
5 Mon May 21 08:39:00 2018 a root

二、周期性计划任务:在生产环境中,一般都是周期性的去执行某个计划任务,例如备份日志。

cron 主程序

crond服务

1、系统级别  2、用户级别的计划任务

主文件: /etc/crontab

# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed

*   *   *   *   *

分  时 日  月  年

[root@localhost ~]# systemctl status crond
● crond.service - Command Scheduler
Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
Active: active (running) since 一 2018-05-21 07:33:13 PDT; 1h 14min ago
Main PID: 1483 (crond)
CGroup: /system.slice/crond.service
└─1483 /usr/sbin/crond -n 5月 21 07:33:13 localhost.localdomain systemd[1]: Started Command Scheduler.
5月 21 07:33:13 localhost.localdomain systemd[1]: Starting Command Scheduler...
5月 21 07:33:13 localhost.localdomain crond[1483]: (CRON) INFO (RANDOM_DELAY will be scal....)
5月 21 07:33:15 localhost.localdomain crond[1483]: (CRON) INFO (running with inotify support)
Hint: Some lines were ellipsized, use -l to show in full.
[root@localhost ~]# systemctl restart crond
[root@localhost ~]# systemctl enable crond

2、针对用户级别

# crontab -e   创建一个计划任务

# crontab  -i   显示

# crontab  -r   删除计划任务

# crontab -e   # 写法

分 时 日 月 星   谁做后面的事情  命令

每个取值范围:

分: 0-59

时: 0-23

日: 1 -31

月: 1 -12

周: 0-7   0 7 都是周日

例: # 每月9,18 , 22 号这几天凌晨1点1分,执行一个备份脚本

1    1    9,18,22  * * /root/backup.sh

# 每5分钟执行一次

*/ * * * *  /root/backup.sh

anacron

情景: cron 用控制循环执行例行性工作,如果我要设定机器每早8点进行备份服务。除非机器保证在8点这个时间不会关机,如果关机了,cron中的脚本,在下次开机不会被执行

解决cron 错过时间后,不执行 cron 计划任务的问题。

anacron  并没有取代 cron 的意思,anacron的作用:机器重启后,会侦测停机期间,有没有 cron 没有执行的计划任务,如果有,会立即执行一下没有执行的任务。

Linux 中计划任务-at-cron的更多相关文章

  1. Linux中计划任务、周期性任务设置

    Linux中计划任务.周期性任务设置 计划任务:指在未来的特定时间里,执行一次某一特定任务.当然,如果同一任务需要在不同时间点执行执行两次.三次或多次,可以视为多个一次看待. 周期性任务:指某一任务需 ...

  2. Linux 中的定时处理 cron服务

    cron服务 在LINUX中,周期执行的任务一般由cron这个守护进程来处理 当安装完操作系统后默认会安装此服务工具并且会自动启动crond,该进程会每分钟定期检查是否有要执行的任务,若有则执行. c ...

  3. Linux中计划任务执行脚本crontab-简洁版

    我使用的是ubuntu16,所以在ubuntu中一切正常,在其他linux系统中应该都差不多. 1 计划任务,crontab命令选项:     -u指定一个用户,     -l列出某个用户的任务计划, ...

  4. linux中计划任务执行脚本

    我使用的是ubuntu14.4,所以在ubuntu中一切正常,在其他linux系统中应该都差不多. 1 计划任务,crontab命令选项:     -u指定一个用户,     -l列出某个用户的任务计 ...

  5. linux下计划任务学习记录

    0x01 计划任务简介 linux 中计划任务主要分为”循环执行”和”只执行一次”两种,分别对应的时 crond 服务 和 atd 服务: 0x02 只执行一次的计划任务 0x02.1 atd 服务说 ...

  6. Linux中利用crontab创建计划任务

    在linux中启动crontab服务: /etc/init.d/crond  start crontab的命令格式 crontab -l   显示当前的crontab 文件(默认编写的crontab文 ...

  7. linux任务计划cron

    linux任务计划cron 1.crontab命令任务计划配置文件 [root@bogon ~]# cat /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/ ...

  8. linux任务计划cron、chkconfig工具、systemd管理服务、unit和target介绍

    第8周第1次课(5月14日) 课程内容: 10.23 linux任务计划cron10.24 chkconfig工具10.25 systemd管理服务10.26 unit介绍10.27 target介绍 ...

  9. [转帖]Linux教程(11)- linux中的计划作业

    Linux教程(11)- linux中的计划作业 2018-08-21 17:13:36 钱婷婷 阅读数 160更多 分类专栏: Linux教程与操作 Linux教程与使用   版权声明:本文为博主原 ...

随机推荐

  1. Logging from multiple processes using log4net

    When logging with log4net to a file (using the FileAppender), the FileAppender is holding an exclusi ...

  2. (DP 雷格码)Gray code -- hdu -- 5375

    http://acm.hdu.edu.cn/showproblem.php?pid=5375 Gray code Time Limit: 2000/1000 MS (Java/Others)    M ...

  3. linecache

    linecache是专门支持读取大文件,而且支持行式读取的函数库. linecache 预先把文件读入缓存起来,后面如果你访问该文件的话就不再从硬盘读取.对于大文件的读取效率还不错 Help on m ...

  4. Python 数据结构与算法—— 快排

    1. 先从待排序的数组中找出一个数作为基准数(取第一个数即可),然后将原来的数组划分成两部分:小于基准数的左子数组和大于等于基准数的右子数组.然后对这两个子数组再递归重复上述过程,直到两个子数组的所有 ...

  5. WPF实现可视化控件打印及打印预览

    打印预览XAML代码: <controls:WindowEx x:Class="SunCreate.Vipf.Client.UI.MapPrintPreview" xmlns ...

  6. Ubuntu修改apt-get源

    1.背景 服务器上安装了最新的Ubuntu Server 17.04,代号为zesty.使用apt-get命令安装软件时,有时候速度比较慢,有时候会失败.因此考虑用国内的镜像源更换下apt-get的默 ...

  7. JQuery - on绑定多个事件

    一.jquery为多个选择器绑定同一个事件 $("#start,#end").on("click",function(){ alert("The pa ...

  8. “全栈2019”Java多线程第三十章:尝试获取锁tryLock()方法详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

  9. Linux删除目录下的文件的10种方法

    看到了一遍文章,便突发奇想的想起Linux中删除目录下的所有文件的方法:整理了几个,如有不足,还望读者不吝赐教! 删除当前目录下的文件 1.rm -f * #最经典的方法,删除当前目录下的所有类型的文 ...

  10. dubbo实现原理之动态编译

    Dubbo为了实现基于spi思想的扩展特性,特别是能够灵活添加额外功能,对于扩展或则策略选择的设配类能够动态生成.对于一些需求已知的类如Protocal,它们的设配类代码dubbo可以直接的提供,但是 ...