at crontab
一次性计划任务 周期性计划任务

摘要:linux系统中,可以通过crontab和at两种命令实现计划任务;

计划任务的作用:是做一些周期性的任务,在生产中的主要用来定期备份数据.


at 一次性计划任务

yum install at -y 下载at

systemctl restart atd 运行at

systemctl enable atd 设置开机自启

  • 使用格式:

    at +时间
  • 查看计划任务:

    at -l

    atq
  • 查看计划任务内容:

    at -c jobid
  • 删除计划任务:

    atrm jobid
  • 创建计划任务:

    at 时间
  • ctrl d -->保存

演示:

╭─root@localhost.localdomain ~
╰─➤ yum install at -y #因为at不是本机自带所以需要下载at
已加载插件:fastestmirror, langpacks
... #省略加载内容
更新完毕:
at.x86_64 0:3.1.13-24.el7 完毕!
╭─root@localhost.localdomain ~
╰─➤ systemctl restart atd #运行at
╭─root@localhost.localdomain ~
╰─➤ systemctl enable atd #设置开机自启
╭─root@localhost.localdomain ~
╰─➤ at 10:00 #输入“at 时间”;开始设置at ,支持am、pm
at> touch /home/cjk #输入任务内容
at> echo "hello" >> /home/cjk<EOT> #输入完毕,按Ctrl+D保存
job 2 at Wed May 15 10:00:00 2019
╭─root@localhost.localdomain ~
╰─➤ at -l #查询at任务
2 Wed May 15 10:00:00 2019 a root #任务id+时间
╭─root@localhost.localdomain ~
╰─➤ atq #查询at任务
2 Wed May 15 10:00:00 2019 a root
╭─root@localhost.localdomain ~
╰─➤ at -c 2 #at -c 任务id 查询at任务
... #省略加载内容
touch /home/cjk
echo "hello" >> /home/cjk
marcinDELIMITER4dbc8ae5
╭─root@localhost.localdomain ~
╰─➤ atrm 2 # atrm +任务id --->删除任务
╭─root@localhost.localdomain ~
╰─➤ atq
╭─root@localhost.localdomain ~
╰─➤

crontab 周期性任务

常用选项:

-e: 编辑计划任务 edit

-l: 查看计划任务 display

-u: 指定用户 user

-r: 删除计划任务 remove

crontab文件介绍

╭─root@localhost.localdomain ~

╰─➤ cat /etc/crontab

文件内容截屏:

演示:

╭─root@localhost.localdomain ~
╰─➤ crontab -e -u du #指定du用户创建crontab
no crontab for du - using an empty one
crontab: installing new crontab
╭─root@localhost.localdomain ~
╰─➤ crontab -lu du #查看crontab 45 4 1,10,22 * * /usr/bin/systemctl restart network
*/30 18-23 * * * /usr/bin/systemctl restart network
30 2 * * 7 /usr/bin/cp /etc/fstab /tmp/fstab-`date “+\%F_\%T” ` ╭─root@localhost.localdomain ~
╰─➤ crontab -eu du #打开du用户的crontab任务文件,把任务注释掉以删除的某个任务
#计划任务都会被保存在 /var/spool/cron/,文件命名就是用户名:
crontab: installing new crontab
╭─root@localhost.localdomain ~
╰─➤ crontab -lu du #45 4 1,10,22 * * /usr/bin/systemctl restart network #用“#”把任务注释掉
*/30 18-23 * * * /usr/bin/systemctl restart network
30 2 * * 7 /usr/bin/cp /etc/fstab /tmp/fstab-`date “+\%F_\%T” ` #计划任务不识别%需用 \ 转译 ╭─root@localhost.localdomain ~
╰─➤ crontab -ru du #-r删除crontab,会删除整个文件,删除所有任务;
╭─root@localhost.localdomain ~
╰─➤ crontab -lu du
no crontab for du ##最后重启crontab生效

编写计划任务实例:

实例1、每月1、10、22日的4:45重启network服务

45 4 1,10,22 * * /usr/bin/systemctl restart network

实例2、每周六、周日的1:10重启network服务

10 1 * * 6,7 /usr/bin/systemctl restart network

实例3、每天18:00至23:00之间每隔30分钟重启network服务

*/30 18-23 * * * /usr/bin/systemctl restart network

实例4、每隔两天的上午8点到11点的第3和第15分钟执行一次重启

3,15 8-11 */2 * * /usr/sbin/reboot

实例5、每周日凌晨2点30分,运行cp命令对/etc/fstab文件进行备份,存储位置为/backup/fstab-YYYY-MM-DD-hh-mm-ss;

30 2 * * 7 /usr/bin/cp /etc/fstab /tmp/fstab-`date “+\%F_\%T”`

实例6、一月一号的4点重启smb

0 4 1 1 * /usr/bin/systemctl restart smb   #4点钟只执行一次命令,正确答案;
* 4 1 1 * /usr/bin/systemctl restart smb #四点到五点执行了60次命令,错误答案:

实例7、晚上11点到早上7点之间,每隔一小时重启smb

0 23-0/1,1-7/1 * * * /usr/bin/systemctl restart smb
0 23,0,1,2,3,4,5,6,7 * * * /usr/bin/systemctl restart smb

实例8、每一小时重启smb

0 * * * * /usr/bin/systemctl restart smb

linux系统计划任务的更多相关文章

  1. linux系统的任务计划crontab使用详解

    linux系统的任务计划crontab使用详解 其实大部分系统管理工作都是通过定期自动执行某一个脚本来完成的,那么如何定期执行某一个脚本呢?这就要借助linux的cron功能了. 关于cron任务计划 ...

  2. Linux系统下使用crontab添加计划任务的方法

     在服务器中添加定期执行的任务,在很多情况下是非常必要的.比如,每天清理一次/tmp目录下的文件;没几分钟检查某一守护进程是否正常等等.这样计划任务就显得尤为方便.下面将介绍如何在Linux系统中 ...

  3. 通过Linux系统Cron执行OwnCloud计划任务

    通过Linux系统Cron执行OwnCloud计划任务 02/02/2013 CRON的确是一个非常有用的功能,它有效减少了系统的负载,在将WordPress和StatusNet的任务计划都转换到Cr ...

  4. 菜鸟学习计划浅谈之Linux系统

    人这一生都是在不断地学习,不断地进步中度过的,刚开始学习任何一门知识的时候,我们都习惯性的称自己为菜鸟,觉得自己对这方面的知识欠缺,水平很low,我也是如此.但我擅长总结,对于自己学习的新知识,总结学 ...

  5. Linux系统中的计划任务

    在系统的工作管理中,我们经常会有需要去告诉电脑某些特定的时间执行一些操作,比如定时提醒工作人员需要做什么事情,或者在每天凌晨进行文件备份等等.这就需要某些命令来达成计划任务. 计划任务可以大体上分成两 ...

  6. 菜鸟学习计划浅谈之Linux系统 原

    人这一生都是在不断地学习,不断地进步中度过的,刚开始学习任何一门知识的时候,我们都习惯性的称自己为菜鸟,觉得自己对这方面的知识欠缺,水平很low,我也是如此.但我擅长总结,对于自己学习的新知识,总结学 ...

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

    在web开发过程中,经常需要设定一些定期执行的任务,比如商品定时上下架.我们以php文件为例,讲解linux下的计划任务,来看看吧   在web开发过程中,经常需要设定一些定期执行的任务,比如商品定时 ...

  8. Linux系统——进程和计划任务管理

    进程和计划任务管理 一.进程和程序的关系 进程:在CPU及内存中运行的程序代码:动态执行的代码:每个进程可以创建一个或多个进程 程序:保存在硬盘.光盘等介质中的可执行代码和数据:静态保存的代码 二.基 ...

  9. Linux基础学习-crond系统计划任务

    系统计划任务 大部分系统管理工作都是通过定期自动执行某个脚本来完成的,那么如何定期执行某个脚本,从而实现运维的自动化,这就要借助Linux的cron功能了. 计划任务分为一次性计划任务和周期性计划任务 ...

随机推荐

  1. C语言几种排序算法

    (1)选择排序算法:选择排序算法是,将第一个数和其它的数比较,将较小的数(从小到大的排列)和第一个数换位,以此类推 #include<stdio.h> int main() { int i ...

  2. Java学习_泛型

    什么是泛型. Java标准库提供的ArrayList内部就是一个Object[]数组,配合存储一个当前分配的长度,就可以充当"可变数组". public class ArrayLi ...

  3. shell脚本学习之6小时搞定(6)-重定向及其他

    shell学习之-重定向及其他 目录 shell学习之-重定向及其他 1.输出重定向 2.输入重定向 3.重定向深入讲解 4./dev/null 文件 5.awk Unix 命令默认从标准输入设备(s ...

  4. node.js常用内置模块一

    在使用内模块的时候需要先将所需的内置模块进行引入. OS模块 在nodejs中OS模块提供了与操作系统相关的属性和方法 // 导入OS内置模块,必须先进行导入,否则无法使用 const os = re ...

  5. Popup中ListBox的SelectChange事件关闭弹出窗体后主窗体点击无效BUG

    WPF的BUG!弹出框的 自定义控件里有Popup, Popup里面放一个ListBox 在ListBox中的SelectionChange事件触发关闭弹出框后,主窗体存在一定概率卡死(但点击标题又能 ...

  6. 【Flutter】容器类组件之填充

    前言 Padding可以给其子节点添加填充(留白). 接口描述 class EdgeInsets extends EdgeInsetsGeometry { // 分别指定四个方向的填充 const E ...

  7. 数学建模学习笔记 | matlab基本命令及用法

    前言 数学建模对matlab水平的要求 了解matlab的基本用法,如常用命令.脚本结构.矩阵的基本操作.绘图等: 熟悉matlab的程序结构,能创建和引用函数: 熟悉常见模型的求解算法和套路: 自主 ...

  8. Linux 防火墙基于 CentOS7 的防火墙操作命令

    防火墙服务操作命令 重启防火墙 systemctl restart firewalld 查看防火墙状态 systemctl status firewalld 开启.关闭.重启防火墙 # 开启 serv ...

  9. linux服务开机自启动&注册系统服务

    首先先看下linux系统开机启动顺序,如下图 对,要解决Linux CentOS 和 Red Hat Linux 系统中设置服务自启动有两种方式,就是从图中圈出的两个步骤下手. 一.修改 /etc/r ...

  10. 【Linux】if中的逻辑运算符怎么在linux的帮助中看到

    今天在写shell的时候,突然想查看下if相关的一些逻辑运算的,像-f -d之类的这种 于是man if  或者if --help 可是返回的信息却都无济于事,一点帮助都没有 回想一下,if中调的判断 ...