解決Centos7下crontab+shell腳本定期自動(dòng)刪除文件問題
問題描述:
最近有個(gè)需求,就是rsync每次同步的數(shù)據(jù)量很多,但是需要保留的數(shù)據(jù)庫bak文件
保留7天就夠了,所以需要自動(dòng)清理文件夾內(nèi)的bak文件
解決方案:
利用shell腳本來定期刪除文件夾內(nèi)的任務(wù)
1、創(chuàng)建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 {} \;
參數(shù)說明:
/data1/backup/KDKDA\$AGKDPAYKT/XNAKSD/FXUIJ #這個(gè)是文件的路徑path
-mtime +10 #這個(gè)是保留的天數(shù),10就是10天
-name "*.bak" #這個(gè)是要?jiǎng)h除文件的名稱,這邊加后綴就是刪除這個(gè)類型的文件
其他的是Linux的命令
2、設(shè)置shell文件權(quán)限
[root@zabbix script]# chown 777 backup_sql_clean.sh
3、設(shè)置crontab周期執(zhí)行
crontab命令用于設(shè)置周期性被執(zhí)行的指令
crontab相關(guān)命令說明:http://m.fzitv.net/article/151069.htm
[root@zabbix /]# crontab -e 0 0 * * 7 /data/script/backup_sql_clean.sh
4、啟動(dòng)crond進(jìn)程
crond的概念和crontab是不可分割的。crontab是一個(gè)命令,常見于Unix和類Unix的操作系統(tǒng)之中,用于設(shè)置周期性被執(zhí)行的指令。
該命令從標(biāo)準(zhǔn)輸入設(shè)備讀取指令,并將其存放于“crontab”文件中,以供之后讀取和執(zhí)行。而crond正是它的守護(hù)進(jìn)程。
[root@zabbix /]# systemctl status crond.service #查看crond狀態(tài) [root@zabbix /]# systemctl start crond.service #啟動(dòng)crond服務(wù) [root@zabbix /]# systemctl restart crond.service #重啟crond服務(wù)
補(bǔ)充;
下面介紹下centOS7定時(shí)刪除文件
1、進(jìn)入linux系統(tǒng)
2、在任意目錄創(chuàng)建一個(gè)sh后綴的文件,如:

3、編輯打開該文件,如圖:

4、此時(shí)按鍵盤上的“i”鍵或者“insert”鍵,進(jìn)入編輯模式
輸入:
#!/bin/sh
find /data/iqmkj/backup/mysql -mtime +7 -name "*.sql" -exec rm -rf {} \;
如圖:

說明:
“/data/iqmkj/backup/mysql” :要?jiǎng)h除的文件所在的目錄。
“+7” :文件保留天數(shù),即幾天前的文件將被刪除。
“*.sql”:刪除文件后綴為.sql的文件。
其他為固定字符。
5:保存編輯的文件
按一下鍵盤上的“esc”鍵,再在當(dāng)前窗口輸入":wq"。文件即保存成功并自動(dòng)退回到主界面。
6、給文件授權(quán)
輸入:
chown 777 backup_mysql.sh
如果授權(quán)不成功,則直接選中該文件右鍵設(shè)置權(quán)限中全部勾選或者設(shè)置“777”。
7:利用centos7的定時(shí)任務(wù)創(chuàng)建一個(gè)定時(shí)器
在主界面輸入”crontab -e”,進(jìn)入定時(shí)任務(wù)編輯界面。
8、設(shè)置定時(shí)任務(wù)
插入“0 4 * * * /data/iqmkj/backup/mysql/backup_mysql_clean.sh”。
說明:
其中的文件路徑為第二步中創(chuàng)建的文件路徑。
9、保存定時(shí)任務(wù)配置
按一下鍵盤上的“esc”鍵,再在當(dāng)前窗口輸入":wq"。文件即保存成功并自動(dòng)退回到主界面。
10、啟動(dòng)定時(shí)器
在主界面輸入“/bin/systemctl start crond.service”。至此全部配置完成。
說明:
啟動(dòng)定時(shí)任務(wù):/bin/systemctl start crond.service
停止定時(shí)任務(wù):/bin/systemctl stop crond.service
重啟定時(shí)任務(wù):/bin/systemctl restart crond.service
查看定時(shí)任務(wù)狀態(tài):/bin/systemctl status crond.service
總結(jié)
以上所述是小編給大家介紹的解決Centos7下crontab+shell腳本定期自動(dòng)刪除文件問題,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Linux下安裝或升級(jí)Python 2.7的操作方法
下面小編就為大家?guī)硪黄狶inux下安裝或升級(jí)Python 2.7的操作方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-10-10
Linux下安裝Oracle(CentOS-Oracle 12c)的方法
這篇文章主要介紹了Linux下安裝Oracle(CentOS-Oracle 12c)的方法,本文實(shí)例講解,介紹的非常詳細(xì),具有參考借鑒價(jià)值,感興趣的朋友一起看看吧2016-11-11
Linux下查看進(jìn)程打開的文件句柄數(shù)和如何修改方法
下面小編就為大家?guī)硪黄狶inux下查看進(jìn)程打開的文件句柄數(shù)和如何修改方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-11-11
Linux下tar解壓錯(cuò)誤:文件損壞與不完整問題的解決方案
在日常的 Linux 系統(tǒng)管理中,我們經(jīng)常需要使用 tar 命令來壓縮和解壓文件,然而,有時(shí)在解壓過程中會(huì)遇到諸如“文件損壞”或“意外結(jié)束”等錯(cuò)誤提示,本文將詳細(xì)分析這些問題的原因,并提供一套完整的解決方案,需要的朋友可以參考下2025-02-02
Linux通過設(shè)備號(hào)找到設(shè)備的方法
所有的Linux設(shè)備文件均位于/dev目錄下,是根(/)文件系統(tǒng)的一個(gè)組成部分,因?yàn)檫@些設(shè)備文件在操作系統(tǒng)啟動(dòng)過程中必須可以使用。接下來通過本文給大家介紹Linux通過設(shè)備號(hào)找到設(shè)備的方法,感興趣的朋友一起看看吧2018-07-07
Linux下用dnsmasq做dns cache server的配置方法
最近國外的服務(wù)器本地DNS總是出故障,閃斷一會(huì)兒都會(huì)影響業(yè)務(wù)。于是在機(jī)房里找了兩臺(tái)Server,安裝上keepalived和dnsmasq實(shí)際本地的DNS緩存2014-08-08
簡(jiǎn)要分析linux系統(tǒng)的啟動(dòng)過程
接觸linux系統(tǒng)運(yùn)維已經(jīng)好幾年了,常常被問到linux系統(tǒng)啟動(dòng)流程問題,這篇文章主要介紹了簡(jiǎn)要分析linux系統(tǒng)的啟動(dòng)過程,需要的朋友可以參考下2018-08-08
Linux系統(tǒng)下使用rpm方式安裝最新mysql5.7.17完整步驟
這篇文章主要介紹了Linux系統(tǒng)下使用rpm方式安裝最新mysql5.7.17完整步驟,需要的朋友可以參考下2017-01-01

