スクリプト書いた。
『/home/samba/*/.trach』以下のファイルで360時間(15日間)更新のないものを削除する。
ログを取る。
念のためtestオプションを付けてます。
# cat /root/scripts/trach_tmpwatch.sh #!/bin/sh TMPWATCH'/usr/sbin/tmpwatch' LOG='/var/log/tmpwach_samba.log' echo '-------------8<----------------' >> $LOG echo `LANG=C date` >> $LOG $TMPWATCH --test --verbose 360 /home/samba/*/.trach >> $LOG 2>&1 # うまく動いたら『--test』を取る。
上記スクリプトだけだと空のフォルダが残るので、こんなスクリプトも追加。
# cat /root/scripts/del_empty_dir.sh #!/bin/sh FIND='/usr/bin/find' LOG='/var/log/empty_dir.log' DATE='LANG=C /bin/date' echo '-------8<---------' >> $LOG eval $DATE >> $LOG $FIND /home/samba/*/.trach/* -type d -empty -delete -print >> $LOG 2>&1
このスクリプトを、『/etc/cron.daily/tmpwatch』に追記。
sambaのごみ箱設定はこんな感じ。
# cat /etc/samba/smb.conf … vfs object = recycle recycle:repository = .trach/%u # ユーザ毎に分ける。 recycle:keeptree = yes # ツリー構造を保持。 recycle:versions = yes # 同じファイル名のものをリネームする。 recycle:touch = yes # ファイルアクセス日時を変更する。 recycle:exclude = *.tmp *.temp ~$* *.~?? *.ldb # ごみ箱へ移動しないファイル名のパターン。 …