一、目标

掌握linux的计划任务,或者叫定时任务crontab的用法

二、平台

centos7.6

三、crontab的格式

  基本格式 :
  *      *   *   *   *  command
  分   时  日  月  周   命令

  第1列表示分钟1~59 每分钟用*或者 */1表示
  第2列表示小时1~23(0表示0点)
  第3列表示日期1~31
  第4列表示月份1~12
  第5列标识号星期0~6(0表示星期天)
  第6列要运行的命令

四、例子

1.每周一到周五的每天下午三点半:30 15 * * 1-5 xCommand

2.每周二四六的早上9点10分:10 9 * * 2,4,6 xCommand

3.每天1点到23点之间每隔两小时:0 1-23/2 * * * xCommand

4.每隔两天:0 0 */3 * * xCommand

5.每天早上8.59开启ssh服务:59 08 * * * systemctl start sshd

6.每天晚上21.37关闭ssh服务:37 21 * * * systemctl stop sshd

五、实例

1.每天早上8.59开启ssh服务:59 08 * * * systemctl start sshd

2.每天晚上21.37关闭ssh服务:37 21 * * * systemctl stop sshd

3.执行命令编辑计划任务(以root用户创建,也可以用其他用户,但必须有执行该任务权限的用户才行)

crontab -e -u root

4.写入计划,#是注释符,wq保存退出

59 08 * * * systemctl start sshd37 21 * * * systemctl stop sshd

5.查看计划任务

crontab -l -u root

六、实例二

每天22:59备份httpd目录

1.执行命令crontab -e -u root

2.写入计划任务的命令

#3.每天22:59备份httpd目录
59 22 * * * tar -czvf httpd.bak.gz /etc/httpd

3.查看计划任务

root@localhost ~]# crontab -l -u root
#1.每天早上8.59开启ssh服务:59 08 * * * systemctl start sshd
#2.每天晚上21.37关闭ssh服务:37 21 * * * systemctl stop sshd
59 08 * * * systemctl start sshd
37 21 * * * systemctl stop sshd
#3.每天22:59备份httpd目录
59 22 * * * tar -czvf httpd.bak.gz /etc/httpd

七、实例三

每周六早上5.30重启httpd服务

1.执行crontab -e -u root

2.写入任务计划的命令 30 5 * * 6 systemctl restart httpd

3.保存退出wq

八、删除所有计划任务,执行命令crontab -r (直接删除所有计划任务,无法恢复)

九、实例每分钟删除一次备份文件夹的文件,但要保留30天数据
(本脚本没有设定保留部分,生产环境根据实际情况考虑节假日的问题)

9-1.写个删除超过30天文件的脚本

[root@hiibm x]# cat autoDelFile30day.sh
#!/usr/bin/env bash
# file name: autoDelFile30day.sh# 强烈建议直接写要删除目录,而不要去将路径复制给变量
find /root/x/dbbak/* -mtime +30 |xargs rm -rf

9-2.给文件赋权限,以及防止脚本被误删除修改。

[root@hiibm x]# chmod a+x autoDelFile30day.sh    //给脚本赋x权限
[root@hiibm x]# chattr +i autoDelFile30day.sh    //保护脚本不被修改

9-3.写计划任务,并编辑脚本每分钟执行一次脚本

[root@hiibm x]# crontab -e
#上面是编辑计划任务,将* * * * * /root/x/autoDelFile2day.sh 写进去。#下面是查看计划任务,想暂停哪个任务的话,就去编辑crontab -e,然后在具体任务前加注释#,保存即可。
[root@hiibm x]# crontab -l
* * * * * /root/x/autoDelFile2day.sh

10.写计划任务:指定文件夹内的文件按修改时间排序,只保留最近的7个文件,其余全部删除

下面只写关键命令,脚本就免写了。

# 1.使用awk创造命令去删除东西,awk 'NR>5'选取5行的意思。{print "rm -f "}早命令,注意-f后有个空格,|bash 交给bash去处理awk生成的文本(文本转命令)
[root@hiibm x]# ls -t /root/x/dbbak/*.txt |awk 'NR>5{print "rm -f "$0}' |bash
或者
[root@hiibm ]# ls -t |awk "NR > 7" |xargs rm -rf   //这是ls没带路径,指的是当前目录
或者
[root@hiibm x]# ls -t /root/x/dbbak/*.txt |awk 'NR>7' |xargs rm -vf   //这个带路径,带指定的文件,更完美。

kahn 2019年6月23日09:53:55

Linux笔记之crontab计划任务格式的写法相关推荐

  1. linux 创建crontab文件位置,[基础教程]linux系统的crontab计划任务添加和删除

    在linux系统中,有时候为了节省人力,所以将一些脚本进行定时执行,通过crontab计划任务进行启动和停止,这样能方便大部分时间来做其他事情,下面主要介绍一下如何启动和删除crontab计划任务 添 ...

  2. Linux笔记-使用crontab定时调用sh文件

    背景:如果自己写了个sh文件,需要定时调用,就需要配置crontab. crontab配置文件如下: vim /etc/crontab 其中这个 * * * * * 表示每分钟调用一次 15 * * ...

  3. Linux笔记 No.19---(swap分区、dd命令、mail发送邮件、定时计划任务at和crontab)

    文章目录 一.swap分区 (一)查看Swap分区大小 (二)交换分区的创建 1.以分区形式创建 2.以文件形式创建 (三)swap分区的启动与关闭 (四)swap 优先级 二.dd命令 三.利用ma ...

  4. Linux查看分析任务计划命令,Linux任务计划crontab

    今天学习的Linux任务计划crontab 我们时常会有一些定期定时的任务,如周期性的清理一下/tmp,周期性的去备份一次数据库,周期性的分析日志等等.而且有时候因为某些因素的限制,执行该任务的时间会 ...

  5. linux crontab 计划任务编写

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

  6. 【Linux】定时任务crontab和at命令详解

    [Linux]定时任务crontab和at命令详解 linux 系统则是由 cron (crond) 这个系统服务来控制的.Linux 系统上面原本就有非常多的计划性工作,因此这个系统服务是默认启动的 ...

  7. 【转载】RHEL系统crontab计划任务管理

    在Linux操作系统中,除了用户即时执行的命令操作以外,还可以配置在指定的时间.指定的日期执行预先计划好的系统管理任务.在RHEL.CentOS等大多数Linux系统中,默认已经安装了at.cron软 ...

  8. centos 上 crontab 计划任务 ,这个版本解释的比较清晰

    这个版本的crontab命令解释的很详细 yum install vixie-cronyum install crontabs/bin/systemctl restart crond.service ...

  9. Linux学习之crontab定时任务

    为当前用户创建cron服务 1.  键入 crontab  -e 编辑crontab服务文件 例如 文件内容如下: */2 * * * * /bin/sh /home/admin/jiaoben/bu ...

最新文章

  1. css中对position的几种定位方式的最佳诠释
  2. 6道简单的python练习题,来看看你python基础学的咋样
  3. gradle引入依赖:_Gradle善良:获得更多的依赖性见解
  4. 如何在一周内学会爬虫
  5. 20个Excel操作技巧,提高你的数据分析效率
  6. python 工作量统计_如何获得Python多处理池剩余的“工作量”?
  7. C# 不借助第三个变量实现两整数交换
  8. Java aop中参数传递
  9. oracle 数据库官网下载流程
  10. 两个HC05蓝牙模块相互之间的通信
  11. STC15F2K60S2单片机笔记
  12. 19. 正则表达式(二)
  13. 文本主题模型之LDA
  14. Warning: You are calling ReactDOM.unmountComponentAtNode() on a container that was previously passed
  15. 向左还是向右,网约车聚合平台还是高精度地图数据收集站
  16. 人工智能再突破:中国MR来了!
  17. UE4 Windows环境下游戏打包基础教程(ios, windows, android)(UFE方式以及命令行方式)
  18. 推荐4款非常实用的电脑软件
  19. android动态交换控件位置,Android DynamicGrid实现拖曳交换位置功能
  20. EtherCAT理论学习笔记【二】——寻址服务与FMMU

热门文章

  1. ios11更新提示信任_iphone 信任_苹果ios11信任设置在哪
  2. Leetcode 1647. Minimum Deletions to Make Character Frequencies Unique [Python]
  3. 苹果iOS证书制作教程
  4. zabbix5部署+Grafana大屏展示
  5. 四川电子招投标注意事项技巧
  6. java横向导出excel_Java中导入、导出Excel
  7. 使用spire.pdf.free缩小过大的pdf页面
  8. 视觉工程师必须知道选型知识与计算方法
  9. 手势识别:使用EfficientNet模型迁移、VGG16模型迁移
  10. GC详解---JVM(三)