中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

怎么設置自動清理Linux系統中n天前的文件

發布時間:2021-09-03 17:59:28 來源:億速云 閱讀:178 作者:chen 欄目:系統運維

這篇文章主要講解了“怎么設置自動清理Linux系統中n天前的文件”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“怎么設置自動清理Linux系統中n天前的文件”吧!

服務器每周會產生一次全局備份文件,大小約100G左右,需要定期清理。

工作時間網站訪問大,服務器I/O高的時候刪除大數據會對服務器狀態產生不好的影響。于是想利用計劃任務自動執行。

在我的備份目錄/bakcup下,每次備份文件均以日期形式命名目錄名:

代碼如下:


# ls


2013-12-23  2014-01-06  2014-01-20  2014-02-03
2013-12-30  2014-01-13  2014-01-27  2014-02-10
刪除部分備份同時保留部分,可以使用find命令,如我要保留最近四周備份的文件,每次備份間隔七天:

代碼如下:


# find /bakcup/ -maxdepth 1 -type d -mtime +28


/bakcup/2014-01-06
/bakcup/2014-01-13
/bakcup/2013-12-23
/bakcup/2013-12-30
-maxdepth 1:設置查找目錄深度為1,只在/backup目錄下查找,如不加此參數會將下級目錄中的文件都列出

-type d:設置查找類型為目錄

-mtime +28:查找28天前的目錄

查找結束后可用-exec參數連接刪除命令

代碼如下:


rsync --delete-before -d /data/test/ {} \;


所以,整個命令就是:

代碼如下:


# find /bakcup/ -maxdepth 1 -type d -mtime +28 -exec rsync --delete-before -d /data/test/ {} \;


最后可以把命令放入腳本,設置crontab自動執行。

提醒:

使用命令前,應先在服務器上試用查找部分的命令,如只查找出要清理的目錄,則可以繼續。

不排除某些系統會將./目錄查找出來,一定要看清楚,防止出現意外情況。

另外可將-exec替換為-ok,效果相同,在刪除前提醒用戶確認。

PS:rm命令與rsync命令的效率比較
rm
rm命令大量調用了lstat64和unlink,可以推測刪除每個文件前都從文件系統中做過一次lstat操作。
lstat64的次數低于文件總數,還有另外的原因,之后會在另一篇文章中說明。
getdirentries64這個調用比較關鍵。
過程:正式刪除工作的第一階段,需要通過getdirentries64調用,分批讀取目錄(每次大約為4K),在內存中建立rm的文件列表;第二階段,lstat64確定所有文件的狀態;第三階段,通過unlink執行實際刪除。這三個階段都有比較多的系統調用和文件系統操作。
rsync
rsync所做的系統調用很少。
沒有針對單個文件做lstat和unlink操作。
命令執行前期,rsync開啟了一片共享內存,通過mmap方式加載目錄信息。
只做目錄同步,不需要針對單個文件做unlink。
另外,在其他人的評測里,rm的上下文切換比較多,會造成System CPU占用較多——對于文件系統的操作,簡單增加并發數并不總能提升操作速度。

感謝各位的閱讀,以上就是“怎么設置自動清理Linux系統中n天前的文件”的內容了,經過本文的學習后,相信大家對怎么設置自動清理Linux系統中n天前的文件這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

海林市| 城口县| 钦州市| 资兴市| 潜江市| 阳谷县| 佛学| 亳州市| 海南省| 清流县| 米脂县| 庆安县| 武冈市| 合作市| 辽中县| 桂林市| 盐源县| 云南省| 屯留县| 永新县| 惠安县| 绥芬河市| 德昌县| 勐海县| 普兰县| 黔西县| 汝南县| 高密市| 乐昌市| 休宁县| 健康| 普格县| 临泉县| 澎湖县| 河源市| 苏尼特右旗| 樟树市| 越西县| 博罗县| 府谷县| 怀安县|