自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

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

[[279884]]

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

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

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

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

我在本文中添加了兩個 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 天的文件夾,并通過郵件發(fā)送文件夾列表。

你可以根據(jù)需要修改 -mtime X 的值。另外,請?zhí)鎿Q你的電子郵箱,而不是用我們的。

  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 設(shè)置可執(zhí)行權(quán)限。

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

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

  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 天前的文件。

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

  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 天前的文件并通過郵件發(fā)送文件夾列表。

你可以根據(jù)需要修改 -mtime X 的值。另外,請?zhí)鎿Q你的電子郵箱,而不是用我們的。

  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 設(shè)置可執(zhí)行權(quán)限。

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

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

  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

 

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2015-06-02 14:43:43

shell運(yùn)維

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系統(tǒng)命令

2020-11-28 19:37:03

MeldLinuxdiff命令

2024-12-16 15:07:10

2009-12-03 10:18:32

Linux文件夾執(zhí)行權(quán)限

2022-07-08 15:09:26

Linux

2012-05-23 16:50:27

ASP.NET

2019-01-03 15:20:36

dbxfsLinux文件夾

2013-05-28 10:17:02

Windows.old故障恢復(fù)

2009-12-14 13:33:31

linuxramdisk文件系統(tǒng)

2022-03-30 09:32:32

BashtestLinux

2017-05-03 15:30:38

LinuxMeld比較文件夾

2022-11-10 08:15:55

PSCPWindowsLinux

2022-11-28 11:37:55

點贊
收藏

51CTO技術(shù)棧公眾號