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. DBF 文件 ORACLE 数据库恢复

    DBF 文件 ORACLE 数据库恢复 清·魏源<庸易通义>:"至道问学之有知无行,分温故为存心,知新为致知,而敦厚为存心,崇礼为致知,此皆百密一疏." 起因 在我们的 ...

  2. Logstash学习之路(二)Elasticsearch导入json数据文件

    一.数据从文件导入elasticsearch 1.数据准备: 1.数据文件:test.json 2.索引名称:index 3.数据类型:doc 4.批量操作API:bulk {"index& ...

  3. [Leetcode刷题]——链表

    一.找出两个链表的交点 160.相交链表(easy)2021-01-05 编写一个程序,找到两个单链表相交的起始节点     如下面的两个链表,在c1 处相交: public class Soluti ...

  4. mysql 应用 持续更新

    1.安装方法 贴出,my.ini # MySQL Server Instance Configuration File # -------------------------------------- ...

  5. PHP 获取重复数组中 第二多的元素

    $target = ["重复项目", "repeat", "repeat", "重复", "重复项目" ...

  6. JavaScript 获取当天0点以及当前时间方法

    js 取得今天0点: const start = new Date(new Date(new Date().toLocaleDateString()).getTime()); console.log( ...

  7. Java 使用 commons-fileupload 实现文件上传工具类

    依赖包 文件上传可以使用 Apache 文件上传组件, commons-fileupload, 它依赖于 commons-io commons-io.jar: https://repo1.maven. ...

  8. /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh: line 19: mysql: command not found

    [root@test ~]# tail -f /tmp/zabbix_agentd.log /var/lib/zabbix/percona/scripts/get_mysql_stats_wrappe ...

  9. 【TNS】TNS-00515 TNS-12560 TNS-12545解决方案

    今天同事的plsql连接不上数据库,我用他的本地tnsping是不通的,于是上服务器上查看下,结果发现监听没起来,不知道怎么就断了 再次尝试重启 lsnrctl start 发现直接报错: NSLSN ...

  10. 【Oracle】10g查看trace生成文件位置及文件名称

    select  u_dump.value || '/' ||  db_name.value || '_ora_' ||  v$process.spid ||  nvl2(v$process.trace ...