解決Centos7下crontab+shell腳本定期自動刪除文件問題
問題描述:
最近有個需求,就是rsync每次同步的數(shù)據(jù)量很多,但是需要保留的數(shù)據(jù)庫bak文件
保留7天就夠了,所以需要自動清理文件夾內(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 #這個是文件的路徑path
-mtime +10 #這個是保留的天數(shù),10就是10天
-name "*.bak" #這個是要刪除文件的名稱,這邊加后綴就是刪除這個類型的文件
其他的是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://www.dbjr.com.cn/article/151069.htm
[root@zabbix /]# crontab -e 0 0 * * 7 /data/script/backup_sql_clean.sh
4、啟動crond進(jìn)程
crond的概念和crontab是不可分割的。crontab是一個命令,常見于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 #啟動crond服務(wù) [root@zabbix /]# systemctl restart crond.service #重啟crond服務(wù)
補(bǔ)充;
下面介紹下centOS7定時刪除文件
1、進(jìn)入linux系統(tǒng)
2、在任意目錄創(chuàng)建一個sh后綴的文件,如:
3、編輯打開該文件,如圖:
4、此時按鍵盤上的“i”鍵或者“insert”鍵,進(jìn)入編輯模式
輸入:
#!/bin/sh find /data/iqmkj/backup/mysql -mtime +7 -name "*.sql" -exec rm -rf {} \;
如圖:
說明:
“/data/iqmkj/backup/mysql” :要刪除的文件所在的目錄。
“+7” :文件保留天數(shù),即幾天前的文件將被刪除。
“*.sql”:刪除文件后綴為.sql的文件。
其他為固定字符。
5:保存編輯的文件
按一下鍵盤上的“esc”鍵,再在當(dāng)前窗口輸入":wq"。文件即保存成功并自動退回到主界面。
6、給文件授權(quán)
輸入:
chown 777 backup_mysql.sh
如果授權(quán)不成功,則直接選中該文件右鍵設(shè)置權(quán)限中全部勾選或者設(shè)置“777”。
7:利用centos7的定時任務(wù)創(chuàng)建一個定時器
在主界面輸入”crontab -e”,進(jìn)入定時任務(wù)編輯界面。
8、設(shè)置定時任務(wù)
插入“0 4 * * * /data/iqmkj/backup/mysql/backup_mysql_clean.sh”。
說明:
其中的文件路徑為第二步中創(chuàng)建的文件路徑。
9、保存定時任務(wù)配置
按一下鍵盤上的“esc”鍵,再在當(dāng)前窗口輸入":wq"。文件即保存成功并自動退回到主界面。
10、啟動定時器
在主界面輸入“/bin/systemctl start crond.service”。至此全部配置完成。
說明:
啟動定時任務(wù):/bin/systemctl start crond.service
停止定時任務(wù):/bin/systemctl stop crond.service
重啟定時任務(wù):/bin/systemctl restart crond.service
查看定時任務(wù)狀態(tài):/bin/systemctl status crond.service
總結(jié)
以上所述是小編給大家介紹的解決Centos7下crontab+shell腳本定期自動刪除文件問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
Xshell連接centOS7并與CentOS7聯(lián)網(wǎng)
本文主要介紹了Xshell連接centOS7并與CentOS7聯(lián)網(wǎng),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08CentOS7 LNMP+phpmyadmin環(huán)境搭建 第二篇LNMP環(huán)境搭建教程
這篇文章主要為大家詳細(xì)介紹了CentOS7 LNMP+phpmyadmin環(huán)境搭建,第二篇LNMP環(huán)境搭建教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07linux報錯INFO:task?xxxxxx:634?blocked?for?more?than?120?
文章描述了一個Linux最小系統(tǒng)運(yùn)行時出現(xiàn)的“hung_task_timeout_secs”錯誤,并探討了三種解決方案:縮小文件系統(tǒng)緩存大小、修改IO調(diào)度策略和取消120秒時間限制,通過測試,發(fā)現(xiàn)縮減文件系統(tǒng)緩存大小和取消120秒時間限制都可以解決問題2025-01-01Linux下如何檢查網(wǎng)卡bonding狀態(tài)和切換主備網(wǎng)卡
這篇文章主要介紹了Linux下如何檢查網(wǎng)卡bonding狀態(tài)和切換主備網(wǎng)卡問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-11-11crontab定時任務(wù)不執(zhí)行的原因分析與解決方法
這篇文章主要給大家介紹了關(guān)于crontab定時任務(wù)不執(zhí)行的原因分析與解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01