成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

在Linux中使用Bash腳本刪除早于 “X” 天的文件/文件夾

系統 Linux
磁盤使用率 監控工具能夠在達到給定閾值時提醒我們。但它們無法自行解決 磁盤使用率 問題。需要手動干預才能解決該問題。如果你想完全自動化此類操作,你會做什么。是的,可以使用 bash 腳本來完成。

[[279884]]

磁盤使用率 監控工具能夠在達到給定閾值時提醒我們。但它們無法自行解決 磁盤使用率 問題。需要手動干預才能解決該問題。

如果你想完全自動化此類操作,你會做什么。是的,可以使用 bash 腳本來完成。

該腳本可防止來自 監控工具 的警報,因為我們會在填滿磁盤空間之前刪除舊的日志文件。

我們過去做了很多 shell 腳本。如果要查看,請進入下面的鏈接。

我在本文中添加了兩個 bash 腳本,它們有助于清除舊日志。

1)在 Linux 中刪除早于 “X” 天的文件夾的 Bash 腳本

我們有一個名為 /var/log/app/ 的文件夾,其中包含 15 天的日志,我們將刪除早于 10 天的文件夾。

  1. $ ls -lh /var/log/app/
  2.  
  3. drwxrw-rw- 3 root root 24K Oct 1 23:52 app_log.01
  4. drwxrw-rw- 3 root root 24K Oct 2 23:52 app_log.02
  5. drwxrw-rw- 3 root root 24K Oct 3 23:52 app_log.03
  6. drwxrw-rw- 3 root root 24K Oct 4 23:52 app_log.04
  7. drwxrw-rw- 3 root root 24K Oct 5 23:52 app_log.05
  8. drwxrw-rw- 3 root root 24K Oct 6 23:54 app_log.06
  9. drwxrw-rw- 3 root root 24K Oct 7 23:53 app_log.07
  10. drwxrw-rw- 3 root root 24K Oct 8 23:51 app_log.08
  11. drwxrw-rw- 3 root root 24K Oct 9 23:52 app_log.09
  12. drwxrw-rw- 3 root root 24K Oct 10 23:52 app_log.10
  13. drwxrw-rw- 3 root root 24K Oct 11 23:52 app_log.11
  14. drwxrw-rw- 3 root root 24K Oct 12 23:52 app_log.12
  15. drwxrw-rw- 3 root root 24K Oct 13 23:52 app_log.13
  16. drwxrw-rw- 3 root root 24K Oct 14 23:52 app_log.14
  17. drwxrw-rw- 3 root root 24K Oct 15 23:52 app_log.15

該腳本將刪除早于 10 天的文件夾,并通過郵件發送文件夾列表。

你可以根據需要修改 -mtime X 的值。另外,請替換你的電子郵箱,而不是用我們的。

  1. # /opt/script/delete-old-folders.sh
  2.  
  3. #!/bin/bash
  4. prev_count=0
  5. fpath=/var/log/app/app_log.*
  6. find $fpath -type d -mtime +10 -exec ls -ltrh {} \; > /tmp/folder.out
  7. find $fpath -type d -mtime +10 -exec rm -rf {} \;
  8. count=$(cat /tmp/folder.out | wc -l)
  9. if [ "$prev_count" -lt "$count" ] ; then
  10. MESSAGE="/tmp/file1.out"
  11. TO="[email protected]"
  12. echo "Application log folders are deleted older than 15 days" >> $MESSAGE
  13. echo "+----------------------------------------------------+" >> $MESSAGE
  14. echo "" >> $MESSAGE
  15. cat /tmp/folder.out | awk '{print $6,$7,$9}' >> $MESSAGE
  16. echo "" >> $MESSAGE
  17. SUBJECT="WARNING: Apache log files are deleted older than 15 days $(date)"
  18. mail -s "$SUBJECT" "$TO" < $MESSAGE
  19. rm $MESSAGE /tmp/folder.out
  20. fi

delete-old-folders.sh 設置可執行權限。

  1. # chmod +x /opt/script/delete-old-folders.sh

最后添加一個 cronjob 自動化此任務。它于每天早上 7 點運行。

  1. # crontab -e
  2.  
  3. 0 7 * * * /bin/bash /opt/script/delete-old-folders.sh

你將看到類似下面的輸出。

  1. Application log folders are deleted older than 20 days
  2. +--------------------------------------------------------+
  3. Oct 11 /var/log/app/app_log.11
  4. Oct 12 /var/log/app/app_log.12
  5. Oct 13 /var/log/app/app_log.13
  6. Oct 14 /var/log/app/app_log.14
  7. Oct 15 /var/log/app/app_log.15

2)在 Linux 中刪除早于 “X” 天的文件的 Bash 腳本

我們有一個名為 /var/log/apache/ 的文件夾,其中包含15天的日志,我們將刪除 10 天前的文件。

以下文章與該主題相關,因此你可能有興趣閱讀。

  1. # ls -lh /var/log/apache/
  2.  
  3. -rw-rw-rw- 3 root root 24K Oct 1 23:52 2daygeek_access.01
  4. -rw-rw-rw- 3 root root 24K Oct 2 23:52 2daygeek_access.02
  5. -rw-rw-rw- 3 root root 24K Oct 3 23:52 2daygeek_access.03
  6. -rw-rw-rw- 3 root root 24K Oct 4 23:52 2daygeek_access.04
  7. -rw-rw-rw- 3 root root 24K Oct 5 23:52 2daygeek_access.05
  8. -rw-rw-rw- 3 root root 24K Oct 6 23:54 2daygeek_access.06
  9. -rw-rw-rw- 3 root root 24K Oct 7 23:53 2daygeek_access.07
  10. -rw-rw-rw- 3 root root 24K Oct 8 23:51 2daygeek_access.08
  11. -rw-rw-rw- 3 root root 24K Oct 9 23:52 2daygeek_access.09
  12. -rw-rw-rw- 3 root root 24K Oct 10 23:52 2daygeek_access.10
  13. -rw-rw-rw- 3 root root 24K Oct 11 23:52 2daygeek_access.11
  14. -rw-rw-rw- 3 root root 24K Oct 12 23:52 2daygeek_access.12
  15. -rw-rw-rw- 3 root root 24K Oct 13 23:52 2daygeek_access.13
  16. -rw-rw-rw- 3 root root 24K Oct 14 23:52 2daygeek_access.14
  17. -rw-rw-rw- 3 root root 24K Oct 15 23:52 2daygeek_access.15

該腳本將刪除 10 天前的文件并通過郵件發送文件夾列表。

你可以根據需要修改 -mtime X 的值。另外,請替換你的電子郵箱,而不是用我們的。

  1. # /opt/script/delete-old-files.sh
  2.  
  3. #!/bin/bash
  4. prev_count=0
  5. fpath=/var/log/apache/2daygeek_access.*
  6. find $fpath -type f -mtime +15 -exec ls -ltrd {} \; > /tmp/file.out
  7. find $fpath -type f -mtime +15 -exec rm -rf {} \;
  8. count=$(cat /tmp/file.out | wc -l)
  9. if [ "$prev_count" -lt "$count" ] ; then
  10. MESSAGE="/tmp/file1.out"
  11. TO="[email protected]"
  12. echo "Apache Access log files are deleted older than 20 days" >> $MESSAGE
  13. echo "+--------------------------------------------- +" >> $MESSAGE
  14. echo "" >> $MESSAGE
  15. cat /tmp/file.out | awk '{print $6,$7,$9}' >> $MESSAGE
  16. echo "" >> $MESSAGE
  17. SUBJECT="WARNING: Apache log folders are deleted older than 15 days $(date)"
  18. mail -s "$SUBJECT" "$TO" < $MESSAGE
  19. rm $MESSAGE /tmp/file.out
  20. fi

delete-old-files.sh 設置可執行權限。

  1. # chmod +x /opt/script/delete-old-files.sh

最后添加一個 cronjob 自動化此任務。它于每天早上 7 點運行。

  1. # crontab -e
  2.  
  3. 0 7 * * * /bin/bash /opt/script/delete-old-folders.sh

你將看到類似下面的輸出。

  1. Apache Access log files are deleted older than 20 days
  2. +--------------------------------------------------------+
  3. Oct 11 /var/log/apache/2daygeek_access.11
  4. Oct 12 /var/log/apache/2daygeek_access.12
  5. Oct 13 /var/log/apache/2daygeek_access.13
  6. Oct 14 /var/log/apache/2daygeek_access.14
  7. Oct 15 /var/log/apache/2daygeek_access.15

 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2015-06-02 14:43:43

shell運維

2020-05-09 16:25:31

Ubuntu文件夾桌面

2023-05-13 17:43:17

Linux文件文件夾

2021-08-16 13:34:07

Linux終端刪除文件

2020-10-13 19:04:58

Bash信號捕獲Shell腳本

2017-03-09 14:42:21

LinuxsFTP上傳下載

2021-12-17 08:30:15

croc命令Linux文件夾

2021-12-17 07:00:56

Linux系統命令

2020-11-28 19:37:03

MeldLinuxdiff命令

2024-12-16 15:07:10

2009-12-03 10:18:32

Linux文件夾執行權限

2022-07-08 15:09:26

Linux

2012-05-23 16:50:27

ASP.NET

2009-12-14 13:33:31

linuxramdisk文件系統

2019-01-03 15:20:36

dbxfsLinux文件夾

2022-03-30 09:32:32

BashtestLinux

2013-05-28 10:17:02

Windows.old故障恢復

2017-05-03 15:30:38

LinuxMeld比較文件夾

2022-11-28 11:37:55

2022-11-10 08:15:55

PSCPWindowsLinux
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 99精品久久 | 国产成在线观看免费视频 | 国产成人免费在线 | 99亚洲| 蜜桃精品视频在线 | 国产精品夜夜春夜夜爽久久电影 | 一区观看| 日韩欧美网 | 一区二区三区四区国产 | 自拍偷拍亚洲视频 | 中文字幕av网 | 欧美日韩高清在线一区 | 午夜日韩视频 | 午夜欧美 | 国产人成精品一区二区三 | 精品永久| 涩在线| 欧美一区2区三区4区公司二百 | 久久综合av | 黄色一级免费看 | 自拍偷拍欧美 | 人人鲁人人莫人人爱精品 | 日本高清视频在线播放 | 亚洲视频一区二区三区 | 一级片在线观看视频 | 中文字幕在线观看 | 一级片免费视频 | 全免一级毛片 | 亚洲三区在线播放 | 日本黄色影片在线观看 | 久久久免费精品 | 欧美精品网 | 亚洲精品国产综合区久久久久久久 | 久久久精品久 | 仙人掌旅馆在线观看 | 少妇黄色| 久久久久久综合 | 久久只有精品 | 瑟瑟免费视频 | 久久九 | 一区二区三区四区在线 |