Linuxコマンド辞典 tmpwatchコマンド(システム管理)
ファイルへのアクセス時間によってファイルを削除する「tmpwatch」コマンドの概要と使い方を記載しています。
RHEL Fedora CentOS Vine Deblan Ubuntu Plamo
概要・使用方法
書式
$ tmpwatch [オプション] 時間 ディレクトリ名
一時ファイルを保存する場所として利用される「/tmp」上で、ある程度の時間でアクセスされていないファイルを削除するツールとして利用されていました。「/tmp」以外のディレクトリを対象にすることもできます。
CentOSやRockyLinuxにはインストールされていないので、「yum install tmpwatch」コマンドでインストールする必要がある。インストールは管理者権限で行う必要がある。
コマンドを実行する際は、管理者権限(root)で行う。
オプション
-u –atime | アクセスされていないファイルを対象とする |
-m –mtime | 修正されていないファイルを対象とする |
-c –ctime | inodeが更新されていないファイルを対象とする |
-a –all | すべてのファイルを対象とする |
-s –fuser | fuserを利用する |
-t –test | 実際に削除しない |
-d –nodirs | ディレクトリが空でない場合は削除しない |
-x パターン –exclude パターン | 指定したパターンを削除対象にしない |
一定期間アクセスがないファイルを削除する
10日間アクセスがないファイルを削除する。
$ tmpwatch --atime 240 /var/tmp
$ sudo tmpwatch --atime 240 /var/tmp
実行結果
[sunarin@localhost ~]$ sudo tmpwatch --atime 240 /var/tmp
[sunarin@localhost ~]$
一定期間修正がないファイルを削除する
2週間アクセスがないファイルを削除する
$ tmpwatch --mtime --all 336 /var/tmp
実行結果
[sunarin@localhost ~]$ sudo tmpwatch --mtime --all 336 /var/tmp
[sunarin@localhost ~]$
削除できるファイルを確認する
4時間以上前のファイルの削除対象、10日以上前のファイルの削除対象、20日以上前のファイルの削除対象を確認する。
$ tmpwatch -t 時間 ディレクトリ
実行結果
[root@localhost tmp]# tmpwatch -t 4 .
removing file /var/tmp/5-hour-ago.txt
removing file /var/tmp/10-days-ago.txt
removing file /var/tmp/20-days-ago.txt
[root@localhost tmp]# tmpwatch -t 10d .
removing file /var/tmp/10-days-ago.txt
removing file /var/tmp/20-days-ago.txt
[root@localhost tmp]# tmpwatch -t 20d .
removing file /var/tmp/20-days-ago.txt
[root@localhost tmp]#
削除対象から特定のファイルを除外する
「20-days*」パターンに該当するファイルを削除対象から外す
$ tmpwatch -a -x パターン ディレクトリ
実行結果
[root@localhost tmp]# tmpwatch -a -x 20-days* -t 10d .
removing file /var/tmp/10-days-ago.txt
[root@localhost tmp]#