ゴミ箱は便利ですがどんどん溜まっていくので定期的に捨てないといけません.気が向いたときにゴミ箱を空にするのでもいいのですがそれだと1月前にゴミ箱に入れて確実にゴミであろうファイルもさっきゴミ箱に入れたもしかしたら誤って削除したファイルも一緒に消すことになってしまい心配です.
autotrashを使うとゴミ箱に入れた日数やファイル名,空き容量が何GBより少なくなったなどの様々な条件によりゴミ箱内のファイルを削除することができます.crontabに登録しておくと自動化もできてお薦めです.
※以下はmanのexampleで日本語部分は間違っているかもしれません –dry-run と –verbose オプションを付けて動作確認をした上で使うようにしてください.
autotrash -d 30 Purge any file that has been in the trash for more then 30 days.
autotrash --max-free 1024 -d 30 Only purge files from the trash if there is less than 1GB of space left on the trash filesystem. If so, only trash files that are older than 30 days.
autotrash --min-free 2048 Purge files from trash, oldest first, till there is at least 2GB of space on the trash filesystem. There is no restriction on how old trashed files are.
autotrash --min-free 2048 -D '.*\.bak' -D '.*\.avi' Purge files from trash till there is at least 2GB of space on the trash filesystem. If we need to remove files, make sure we remove *.bak files first, then all *.avi files and after that the oldest to the newest. There is no restriction on how old trashed files can get. Please note that '.*\.bak' and '.*\.avi' are regular expressions and not glob patterns. Given that they are regular expressions, using -D '.*\.(png|gif|jpg|jpeg)' will match images with any of the given extensions.
autotrash --max-free 4000 --min-free 2048 -d 30 Start reading the trash if there is less than 4000MB of free space, then start keeping an eye on. At that point, remove files older than 30 days and if there is less than 2GB of free space after that remove even newer files.
私は単純にゴミ箱に入れて33日経ったファイルを削除するようにしています.
この例では毎日02:08に優先度を下げて実行しています.vixie-cronの場合 @daily でもいいし, @reboot でシステム起動時に処理とかでもいいかもしれません.詳細は man 5 crontab を参照してください.
$ crontab -l|grep autotrash 8 2 * * * nice -n 19 ionice -c 3 autotrash -d 33
ただ,これはゴミ箱を使っているユーザ毎に設定しないといけないのがちょっと面倒です.一人で使っているシステムならいいのですが,利用者が1000人だと /etc/crontab に1000行書くなどしないといけません.
autotrash 0.2.1 では -t オプションで全ユーザのチェックが出来るようです.(手元の環境では 0.1.5 なので未確認)
You can also make autotrash process all user trash directories (not just in your home directory) by adding this crontab entry: @daily /usr/bin/autotrash -td 30
$ dpkg-query -W autotrash autotrash 0.1.5-1.1 $ lsb_release -d Description: Debian GNU/Linux unstable (sid) $ uname -m x86_64
#sidだけどupstreamに追従してないですね><