热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linux下定时调度shell脚本_shell学习定时执行脚本备份文件

一、tar命令备份参数:-c:建立压缩档案、-z:有gzip属性的、-f:使用档案名字,切记,这个参数是最后一个参数

一、tar 命令备份

参数:-c: 建立压缩档案、-z:有gzip属性的、-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名

有三个文件

300aad5ea03a7703375c162d910b4f2a.png

我们将当前目录下的文件全部打包

7ad511fbe8ce5b0d53d9b045d324b5d3.png

利用date生成特定文件名称

tar -czf log-`date +%Y%m%d`.tar.gz ./

e65bd604675573433c2e9f11076354ea.png

二、crontab

我们先查看下命令

3d213a76d619fc2edb0c922703bf78ae.png

crontab命令用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于"crontab"文件中,以供之后读取和执行。

29ee8e470ae5ffa07dbf747386865e53.png

minute: 表示分钟,可以是从0到59之间的任何整数。

hour:表示小时,可以是从0到23之间的任何整数。

day:表示日期,可以是从1到31之间的任何整数。

month:表示月份,可以是从1到12之间的任何整数。

week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。

command:要执行的命令,可以是系统命令,也可以是自己编写的脚本文件。

或者这个表好理解一点

09c3723552c31c60541fac96562f3ec0.png

在时间表示中,还有一些特殊符号需要学习

d9c1e457178abce7ca6bddd48cc78dcf.png

一些帮助理解的例子

a8c9ef720b34d6a1b72b0d70b79e4307.png

做一个简单的练习,在当前目录下,创建一个文件

5ee6435b7df23ed462348681bdedc362.png
6aef6328326033806175d7f4e6358eea.png

让系统每隔 2 分钟就向 test1 文件中写入一行"xlglvc",验证一下系统定时任务是否会执行

首先进入编辑模式

ae4fc1f87ea1182513b29fab98db0fa5.png

编辑命令

*/2 * * * * /bin/echo "xlglvc" >> /data/tarTest/test1

50feba5c3fdbcaed8472be15823d556b.png

我们查看这个文件信息

a6a6a48b8203b713ba3c4eeb5ee3c009.png

我们可以使用下面的命令查询当前用户定时任务或删除当前用户定时任务

查询当前用户定时任务

a005ed2a4a5d98aab30892ebc8e5b0bc.png

删除当前用户定时任务

25ed80fdc5144329347b03d4db94296e.png

我们把上面的打包压缩命令做一下更改,将打包压缩命令放到脚本中

728a4c880ce3798c1eb9bd1cf5d1d1bd.png

我们将时间范围缩小到秒

tar -czf log-`date +%Y%m%d_%H%M%S`.tar.gz ./

78acef3dc14a94bc50a9c6b4239d89cb.png

执行脚本

37bd879bfdd7690345b9e48f5dd0297d.png

系统每分钟执行一次这个脚本

c49160dee909452a283e7feb224e64e6.png

我们查看下任务

9b3e05ce196a5595cdc97a4f4e1d2e0a.png

我们查看这个内容

cfce2ba9421f19764767809e237a5ec7.png

更改下文件权限,我们再查看任务

396a94df7ddd8a66d8d9063d90951186.png

可以考虑下面三个练习

1、让系统在每周一的凌晨3点01分重启一次

2、在每月1日、10日、15 日的凌晨 00 点 30 分都定时执行日志备份脚本

3、结合前面邮件的发送命令,定时发送打包的压缩文件

网上练习参考

##每月每天凌晨3点30分和中午12点20分执行test.sh脚本

30 3,12 * * * /home/test.sh

##每月每天每隔6小时的每30分钟执行test.sh脚本

30 */6 * * * /home/test.sh

##每月每天早上8点到下午18点每隔2小时的每30分钟执行test.sh脚本

30 8-18/2 * * * /etc/init.d/network restart

##每月每天晚上21点30分执行test.sh脚本

30 21 * * * /etc/init.d/network restart

##每月1号、10号、22号凌晨4点45分执行test.sh脚本

45 4 1,10,22 * * /etc/init.d/network restart

##8月份周一、周日凌晨1点10分执行test.sh脚本

10 1 * 8 6,0 /etc/init.d/network restart

##每月每天每小时整点执行test.sh脚本

00 */1 * * * /etc/init.d/network restart

在书写 crontab 定时任务时,需要注意以下几个事项:

1、6 个选项都不能为空,必须填写。如果不确定,则使用"*"代表任意时间。

2、crontab 定时任务的最小有效时间是分钟,最大有效时间是月。像 2018 年某时执行、3 点 30 分 30 秒这样的时间都不能被识别。

3、在定义时间时,日期和星期最好不要在一条定时任务中出现,因为它们都以天为单位,非常容易让管理员混淆。

4、在定时任务中,不管是直接写命令,还是在脚本中写命令,最好都使用绝对路径。有时使用相对路径的命令会报错。



推荐阅读
  • 远程访问用户 Kindle通过电子书实现控制
    介绍自2007年以来,亚马逊已售出数千万台Kindle,令人印象深刻。但这也意味着数以千万计的人可能会因为这些Kindle中的软件漏洞而被黑客入侵。他 ... [详细]
  • 本文记录了作者在尝试启用IIS的Gzip压缩功能时遇到的挑战,特别是当企业内部网络使用ISA服务器作为代理时的问题。文章详细描述了问题的发现过程、解决步骤以及最终的解决方案。 ... [详细]
  • Linux系统中高效解决高Buff/Cache占用问题
    本文详细探讨了在Linux系统中遇到的高Buff/Cache占用问题及其解决方案,提供了手动清除与定时任务自动化处理的方法。 ... [详细]
  • Python安全实践:Web安全与SQL注入防御
    本文旨在介绍Web安全的基础知识,特别是如何使用Python和相关工具来识别和防止SQL注入攻击。通过实际案例分析,帮助读者理解SQL注入的危害,并掌握有效的防御策略。 ... [详细]
  • 本文探讨了为何在Linux系统上进行项目开发的重要性,并详细介绍了如何在Ubuntu系统上安装PyCharm这一流行的Python集成开发环境(IDE)。通过本文,您将了解在Linux环境下进行Python开发的优势及具体安装步骤。 ... [详细]
  • 解析 HTTP 头 'Vary: Accept-Encoding' 的作用与重要性
    本文详细探讨了 'Vary: Accept-Encoding' HTTP 头的作用,即指导缓存系统(如代理服务器和 CDN)根据不同的编码需求存储和提供适当的资源版本,确保不同类型的客户端能够接收到适合自己的内容。 ... [详细]
  • 万事起于配置开发环境
    万事起于配置开发环境 ... [详细]
  • 本文档提供了详细的MySQL安装步骤,包括解压安装文件、选择安装类型、配置MySQL服务以及设置管理员密码等关键环节,帮助用户顺利完成MySQL的安装。 ... [详细]
  • 时序数据是指按时间顺序排列的数据集。通过时间轴上的数据点连接,可以构建多维度报表,揭示数据的趋势、规律及异常情况。 ... [详细]
  • GCC(GNU Compiler Collection)是GNU项目下的一款功能全面且高效的多平台编译工具,广泛应用于Linux操作系统中。本文将详细介绍GCC的特点及其基本使用方法。 ... [详细]
  • 一键LNMP配置SSL证书实现全站HTTPS访问
    许多网站搭建者选择了便捷的一键LNMP安装包,但在网站部署完成后,配置SSL证书以支持HTTPS访问是一个不可或缺的步骤。本文将详细介绍如何通过简单的步骤完成这一过程。 ... [详细]
  • 本文详细介绍了如何在PHP中使用Memcached进行数据缓存,包括服务器连接、数据操作、高级功能等。 ... [详细]
  • 在CentOS 7中部署Nginx并配置SSL证书
    本文详细介绍了如何在CentOS 7操作系统上安装Nginx服务器,并配置SSL证书以增强网站的安全性。适合初学者和中级用户参考。 ... [详细]
  • 本文详细介绍了MySQL InnoDB存储引擎中的Redo Log和Undo Log,探讨了它们的工作原理、存储方式及其在事务处理中的关键作用。 ... [详细]
  • 理解HTTP状态码及其应用
    本文详细解析了HTTP状态码的分类及常见代码的意义,帮助开发者和用户更好地理解和解决网络请求中遇到的问题。 ... [详细]
author-avatar
烟为你吸_811
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有