小编最近遇到这样的需求,就是rsync每次同步的数据量很多,但是需要保留的数据库bak文件,保留7天就够了,所以需要自动清理文件夹内的bak文件。这篇文章主要介绍了解决Centos7下crontab+shell脚本定期自动删除文件问题,需要的朋友可以参考下

问题描述:

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

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

解决方案:

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

1、创建shell文件

[[email protected] 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文件权限

[[email protected] script]# chown 777 backup_sql_clean.sh

3、设置crontab周期执行

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

crontab相关命令说明:https://www.lovean.com/article/151069.htm

[[email protected] /]# crontab -e
0 0 * * 7 /data/script/backup_sql_clean.sh

4、启动crond进程

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

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

[[email protected] /]# systemctl status crond.service #查看crond状态
[[email protected] /]# systemctl start crond.service #启动crond服务
[[email protected] /]# 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脚本定期自动删除文件问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对爱安网网站的支持!

最新资讯
Facebook的电商雄心及商业机会

Facebook的电商雄心及

Facebook在电商领域已经进行了多次尝试,未来的商业机会
华为阎力大:去年企业BG收入近110亿美元 年增长40%

华为阎力大:去年企业BG

阎力大在演讲中透露,2018年华为企业BG销售收入接近110
美媒:Facebook明文存储数亿用户密码 被查看900万次

美媒:Facebook明文存储

在这些故障中,员工构建的应用程序记录了Facebook用户的
天文学家发现高速"飞奔"的脉冲星:速度近400万km/h

天文学家发现高速"飞

美国航天局20日发布公报说,天文学家发现一颗在银河系高
因不支持现金结账:Amazon Go在旧金山面临被禁风险

因不支持现金结账:Amaz

基于历史记录,对于这项新提案,亚马逊很可能会积极游说官
果实为何“五颜六色”?中美研究告诉你答案

果实为何“五颜六色”

果实为何色彩缤纷?哪种颜色的果实爱“流浪”?哪种颜色的
最新文章
Win10系统安装MySQL8.0.13遇到的问题及解决方法

Win10系统安装MySQL8.

这篇文章主要介绍了Win10系统安装MySQL8.0.13遇到的问
Linux系统下快速配置HugePages的完整步骤

Linux系统下快速配置H

这篇文章主要给大家介绍了关于如何在Linux系统下快速
Linux中大内存页Oracle数据库优化的方法

Linux中大内存页Oracl

这篇文章主要给大家介绍了关于Linux中大内存页Oracle
详解Linx awk 入门教程

详解Linx awk 入门教

AWK是一种处理文本文件的语言,是一个强大的文本分析工
nginx 隐藏版本号与WEB服务器信息的解决方法

nginx 隐藏版本号与WE

这篇文章主要介绍了nginx 隐藏版本号与WEB服务器信息
CentOS 7中搭建NFS文件共享存储服务的完整步骤

CentOS 7中搭建NFS文

如果仅仅只是希望搭建一个linux之间进行文件共享的服