成人免费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 07:00:56

Linux系統命令

2020-11-28 19:37:03

MeldLinuxdiff命令

2021-12-17 08:30:15

croc命令Linux文件夾

2024-12-16 15:07:10

2022-07-08 15:09:26

Linux

2009-12-03 10:18:32

Linux文件夾執行權限

2012-05-23 16:50:27

ASP.NET

2019-01-03 15:20:36

dbxfsLinux文件夾

2009-12-14 13:33:31

linuxramdisk文件系統

2022-03-30 09:32:32

BashtestLinux

2013-05-28 10:17:02

Windows.old故障恢復

2017-05-03 15:30:38

LinuxMeld比較文件夾

2022-01-01 19:00:17

LinuxLinux命令文件夾

2022-11-28 11:37:55

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩一区二区三区在线观看 | 国产精品一区二区在线 | 日韩电影免费观看中文字幕 | 日韩欧美在线不卡 | 久久九九99 | 欧美一区二区三区在线 | 亚洲一级视频在线 | 亚洲精品在线观看网站 | av在线免费播放 | 日韩中文一区二区 | 欧美精品一区二区三区四区 在线 | 亚洲国产精品久久久 | 成人精品一区二区 | 国产一区二区三区免费 | 一区二区三区小视频 | 成人免费黄色 | 一级黄色影片在线观看 | 国产在线观看一区二区 | 久久亚洲一区二区三区四区 | 国产一在线 | 国产一级在线 | 尹人av | 久久高清免费视频 | www.天天干.com | 91亚洲国产成人久久精品网站 | 成人免费在线视频 | 日韩黄色av | 欧美一级免费看 | 久热m3u8 | 欧美日韩精品在线一区 | 91在线免费视频 | av大片在线观看 | 99亚洲国产精品 | 国产a视频 | 欧美亚洲国产日韩 | 91av导航 | 日韩在线免费视频 | 国产亚洲精品久久久久久豆腐 | 久久精品一 | 亚洲一区毛片 | 欧美一区二区三区视频在线 |