2017年5月15日 星期一

Shell Script 刪除過期檔案

Shell Script 排程刪除過期檔案,並記錄刪除的檔案清單!

FTP 是用來傳送 E-Mail 無法傳遞的大檔案,使用者一般放上去就是放著,不會在對方下載完後再上 FTP 去刪除它。

每個使用者把它當檔案伺服器使用,磁碟空間就會不足了。

不記錄的話,也可以直接將第二行 find 命令寫在 crontab 裡更精簡。


#!/bin/bash
export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin

Home="/var/ftp"
Delete_Day="5"
User_Name="/root/User_List.txt"

for U in `awk '{print $1}' $User_Name`; do
  find $Home/$U/ -depth -type f \
        -daystart -mtime +$Delete_Day | sort >> /tmp/AutoDelFile.$(date +%Y%m%d).txt
  find $Home/$U/ -depth -type f \
        -daystart -mtime +$Delete_Day -exec rm -rf {} \; > /dev/null 2>&1

  find $Home/$U/ -depth -empty -exec rm -rf {} \; > /dev/null 2>&1
done



沒有留言:

張貼留言

Nutanix平台虛擬機(UBUNTU),利用Veeam備份移轉至VMware平台,安裝套件、系統更新出現錯誤

 mount: /var/lib/grub/esp: special device /dev/disk/by-id/scsi-SNUTANIX_VDISK_NFS_4_0_7672_2d41cbaa_025e_4fac_849c_9e620eff5bff-part1 does n...