溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Centos7下crontab+shell腳本定期自動刪除文件問題怎么解決

發(fā)布時(shí)間:2022-04-12 15:59:57 來源:億速云 閱讀:569 作者:iii 欄目:編程語言

這篇文章主要介紹“Centos7下crontab+shell腳本定期自動刪除文件問題怎么解決”,在日常操作中,相信很多人在Centos7下crontab+shell腳本定期自動刪除文件問題怎么解決問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Centos7下crontab+shell腳本定期自動刪除文件問題怎么解決”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

問題描述:

最近有個(gè)需求,就是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  #這個(gè)是文件的路徑path

-mtime +10 #這個(gè)是保留的天數(shù),10就是10天

-name "*.bak"  #這個(gè)是要刪除文件的名稱,這邊加后綴就是刪除這個(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)命令說明:

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

4、啟動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 #啟動crond服務(wù)
[root@zabbix /]# systemctl restart crond.service #重啟crond服務(wù)

補(bǔ)充;

下面介紹下centos7定時(shí)刪除文件

1、進(jìn)入linux系統(tǒng)

2、在任意目錄創(chuàng)建一個(gè)sh后綴的文件,如:

Centos7下crontab+shell腳本定期自動刪除文件問題怎么解決

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

Centos7下crontab+shell腳本定期自動刪除文件問題怎么解決

4、此時(shí)按鍵盤上的“i”鍵或者“insert”鍵,進(jìn)入編輯模式

輸入:

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

如圖:

Centos7下crontab+shell腳本定期自動刪除文件問題怎么解決

說明:

“/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的定時(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"。文件即保存成功并自動退回到主界面。

10、啟動定時(shí)器

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

說明:

啟動定時(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

到此,關(guān)于“Centos7下crontab+shell腳本定期自動刪除文件問題怎么解決”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI