解决Centos7下crontab+shell脚本定期自动删除文件问题

问题描述:

最近有个需求,就是rsync每次同步的数据量很多,但是需要保留的数据库bak文件

保留7天就够了,所以需要自动清理文件夹内的bak文件

解决方案:

利用shell脚本来定期删除文件夹内的任务

1、创建shell文件

[root@zabbix script]# vim backup_sql_clean.sh
#!/bin/sh
find /data1/backup/KDKDA\$AGKDPAYKT/XNAKSD/FXUIJ -mtime +10 -name "*.bak" -exec rm -rf {} \;

参数说明:

/data1/backup/KDKDA\$AGKDPAYKT/XNAKSD/FXUIJ  #这个是文件的路径path

-mtime +10 #这个是保留的天数,10就是10天

-name "*.bak"  #这个是要删除文件的名称,这边加后缀就是删除这个类型的文件

其他的是Linux的命令

2、设置shell文件权限

[root@zabbix script]# chown 777 backup_sql_clean.sh

3、设置crontab周期执行

crontab命令用于设置周期性被执行的指令

crontab相关命令说明:https://www.jb51.net/article/151069.htm

[root@zabbix /]# crontab -e
0 0 * * 7 /data/script/backup_sql_clean.sh

4、启动crond进程

crond的概念和crontab是不可分割的。crontab是一个命令,常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。

该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。而crond正是它的守护进程。

[root@zabbix /]# systemctl status crond.service #查看crond状态
[root@zabbix /]# systemctl start crond.service #启动crond服务
[root@zabbix /]# systemctl restart crond.service #重启crond服务

补充;

下面介绍下centOS7定时删除文件

1、进入linux系统

2、在任意目录创建一个sh后缀的文件,如:

3、编辑打开该文件,如图:

4、此时按键盘上的“i”键或者“insert”键,进入编辑模式

输入:

#!/bin/sh
find /data/iqmkj/backup/mysql -mtime +7 -name "*.sql" -exec rm -rf {} \;

如图:

说明:

“/data/iqmkj/backup/mysql” :要删除的文件所在的目录。
“+7” :文件保留天数,即几天前的文件将被删除。
“*.sql”:删除文件后缀为.sql的文件。
其他为固定字符。

5:保存编辑的文件

按一下键盘上的“esc”键,再在当前窗口输入":wq"。文件即保存成功并自动退回到主界面。

6、给文件授权

输入:

chown 777 backup_mysql.sh

如果授权不成功,则直接选中该文件右键设置权限中全部勾选或者设置“777”。

7:利用centos7的定时任务创建一个定时器

在主界面输入”crontab -e”,进入定时任务编辑界面。

8、设置定时任务

插入“0 4 * * * /data/iqmkj/backup/mysql/backup_mysql_clean.sh”。
说明:
其中的文件路径为第二步中创建的文件路径。

9、保存定时任务配置

按一下键盘上的“esc”键,再在当前窗口输入":wq"。文件即保存成功并自动退回到主界面。

10、启动定时器

在主界面输入“/bin/systemctl start crond.service”。至此全部配置完成。

说明:

启动定时任务:/bin/systemctl start crond.service
停止定时任务:/bin/systemctl stop crond.service
重启定时任务:/bin/systemctl restart crond.service
查看定时任务状态:/bin/systemctl status crond.service

总结

以上所述是小编给大家介绍的解决Centos7下crontab+shell脚本定期自动删除文件问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • 在CentOS7上搭建Jenkins+Maven+Git持续集成环境的方法

    本文以部署 Spring boot + Maven 项目为例,使用码云作为代码托管仓库,在 CentOS 7 上搭建 Jenkins 持续集成环境. 1. 准备工作 1.1 安装 Java 环境 Jenkins 是基于 Java 开发的持续集成工具,需要在 Java 环境下运行.用下面命令查看系统是否已安装 Java: yum list installed | grep jdk 如果没有,使用 yum search 命令查找 openjdk 版本,选择合适的 jdk 进行安装: yum sear

  • Centos7 安装mysql 8.0.13(rpm)的教程详解

    yum or rpm? yum安装方式很方便,但是下载mysql的时候从官网下载,速度较慢. rpm安装方式可以从国内镜像下载mysql的rpm包,比较快.rpm也适合离线安装. 环境说明 •操作系统:Centos7.4 (CentOS-7-x86_64-Minimal-1804.iso) •mysql:mysql8.0.13 •卸载系统自带的mariadb-lib •查看mariadb版本 rpm -qa|grep mariadb mariadb-libs-5.5.56-2.el7.x86_6

  • centos7下rsync+crontab定期同步备份

    最近需求想定期备份内部重要的服务器数据到存储里面,顺便做个笔记 以前整过一个win下的cwrsync(客户端)+rsync(服务端:存储)的bat脚本 这次整一个Linux下的脚本sh,执行定期自动备份数据 客户端:192.168.0.100(rsync-Linux) 服务端:192.168.0.252(存储) rsync简介: rsync是linux系统下的数据镜像备份工具.使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH.rsync主机同步. 1.服务端

  • centos7上编译安装php7以php-fpm方式连接apache

    好几个月之间其实已经配置过LAMP LNMP等等一些配置,以前配置都是按照晚上抄的,基本都能配置出来,现重头学想自己配置下,但是发现好多配置都忘了 ,中间踩了几个坑,记录下,也更彻底的学习下..... ./configure --prefix=/usr/local/php7 --enable-fpm 以fpm模式安装,这个还可以改成 --with-apxs2=PATH模式,两者只能取其一 --enable-so --with-config-file-path=/etc 只能配置文件位置 --wi

  • CentOS7.3下mysql 8.0.13安装配置方法图文教程

    一.基础环境 1.操作系统:CentOS 7.3 2.MySQL:8.0.13 链接: https://pan.baidu.com/s/13-j_umr7eEnKFaugw4YTqQ 提取码: 62yt 二.安装MySQL 1.卸载mariadb数据库 rpm -qa | grep mariadb yum -y remove mariadb-libs-5.5.52-1.el7.x86_64 2.安装相关依赖(本文使用CentOS 7.3镜像做本地离线yum源) yum -y install op

  • 虚拟机中CentOS7设置固定IP地址的方法

    由于我的开发环境是在VMWare虚拟机里安装Centos,然后在host文件中设置拦截,这样就可以直接跳转虚拟机的CentOS,但是虚拟机的IP地址总是会变,就要随时修改host文件,很麻烦.决定虚拟机采用固定IP方式,记录下步骤,方便以后查阅,希望也能帮助到其他的小伙伴. 环境:主机是Windows 10 VMWare 12 Centos 7.5 1. 设置虚拟机的网络连接方式 点击虚拟机名称->右键->设置 修改网络适配器.网络连接方式可以选择"NAT模式"或者&quo

  • win10 装centos7 虚拟机

    1.下载VMware Workstation 64版本 https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html 2.下载CentOS-7-x86_64-DVD-1810 https://www.centos.org/download/ 3.在虚拟机上安装系统 4.配置网络,虚拟机->设置->设置网络,设置桥接模式 5.虚拟机配置IP 在进入系统之前,我们先确认一下主机的ip地址.网关.DNS

  • Centos7 安装Nginx整合Lua的示例代码

    前言 本人的使用的电脑是Mac,操作系统是macOS Mojave.电脑上装有虚拟机. 虚拟机上安装Centos7操作系统,在其之上安装Nginx及Luau类库,整个过程是在系统安装完成之后开始记录. 建议安装前先拍快照,出现问题可以恢复 准备工作 如果安装的Linux能够联网,并且外部也能正常使用Linux的端口,那么可以忽略下面两部 1.设置自动获取ip (1)在Linux上输入命令 [root@localhost ~]ip addr #查看ip [root@localhost ~]nmcl

  • Centos7修改主机名hostname的三种方法

    方法一 hostnamectl修改 Step1 查看主机名 hostname Step2  修改主机名 命令形式 hostnamectl set-hostname 主机名 修改 hostnamectl set-hostname Master Step3  再次查看主机名 hostname 无需重启只需新开会话便可变为新的主机名 方法二 通过修改文件 修改文件 vi /etc/hostname 添加主机名 Slave01 vi /etc/sysconfig/network 添加IP和hostnam

  • CentOS7.6系统下使用yum配置lnmp环境的方法

    一.安装版本详情 Server: MariaDB Server version: 5.5.60-MariaDB MariaDB Server [root@ln-125 ~]# cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core) [root@ln-125 ~]# nginx -v nginx version: nginx/1.14.2 [root@ln-125 ~]# php-fpm -v PHP 5.4.16 (fpm-fcg

随机推荐