Linux基礎命令—tmpwatch
tmpwatch
刪除最近一段時間沒有訪問的檔案,時間以小時為單位,節省磁碟空間。tmpwatch遞迴刪除給定時間未被訪問的檔案。通常,它用於清理用於臨時儲存空間(如/tmp)的目錄。當更改目錄時,tmpwatch對可能的爭用條件非常敏感,如果檢測到錯誤,就會退出。它不遵循它正在清理的目錄中的符號連結(即使給出一個符號連結作為它的引數),它不會切換檔案系統,跳過根使用者的lost+found目錄,只刪除空目錄、常規檔案和符號連結。
預設情況下,tmpwatch根據檔案的atime(訪問時間),而不是它們的Mtime(修改時間)來確定檔案的日期。如果檔案在“ls-l”暗示應該刪除時沒有被移除,請使用“ls-u”檢查它們的資料,以確定這是否解釋了問題的原因。
如果指定了–atime”,“–ctime”或者“–mtime”選項,那麼刪除檔案的時間由他們中的最大值決定。如果“–dirmtime”選項意味著忽略目錄的atime,即使使用了“—atime”選項。
此命令的適用範圍:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。
1、語法
tmpwatch [選項] time file
tmpwatch [-u|-m|-c] [-MUadfqstvx] [–verbose] [–force] [–all] [–nodirs] [–nosymlinks] [–test] [–fuser] [–quiet] [–atime|–mtime|–ctime] [–dirmtime] [–exclude path] [–exclude-user user] time dirs
2、選項列表
-u | –atime
根據檔案的atime(訪問時間)做出刪除檔案的決定。請注意,定期更新的檔案系統掃描使目錄保持最近的狀態。
-m | –mtime
根據檔案的Mtime(修改時間)而不是atime做出刪除檔案的決定。
-c | -ctime
根據檔案的ctime(Inode Changing Time)而不是atime來決定刪除檔案;對於目錄,根據mtime做出決定
-M | –dirmtime
根據目錄的Mtime(修改時間)而不是atime作出刪除目錄的決定;完全忽略目錄的atime
-a | -all
刪除所有檔案型別,而不僅僅是常規檔案、符號連結和目錄。
-d | –nodirs
不要嘗試刪除目錄,即使它們是空的。
-f | -force
強制刪除,即使root使用者沒有寫的權利
-l | –nosymlinks
不刪除符號連結
-q | –quite
只報告致命錯誤
-s | –fuser
嘗試在刪除檔案之前使用“fuser”命令檢視檔案是否已開啟。預設情況下未啟用。在某些情況下確實有幫助,但不是全部。依賴於/sbin中安裝的fuser。不支援HPUX或Solaris
-t | –test
不刪除,只是演示要做什麼
-U | –exclude-user=user
不刪除指定所有者的檔案,可以指定使用者名稱,也可以指定使用者ID
-v | –verbose
顯示詳細資訊
-x | –exclude
跳過目錄及其內部檔案,如果路徑不存在,則它必須是不包含符號連結的絕對路徑。
-X | –exclude-pattern=pattern
跳過路徑匹配模式;如果目錄匹配模式,則其中包含的所有檔案也將被跳過。模式必須匹配不包含符號連結的絕對路徑。
3、例項
1)刪除當前目錄1小時內沒有訪問的檔案
[root@192 weijie]# ls
1.c 2.c 3.c magic.mgc test01 test03 wjtpflR
1.c~ 2.c~ 3.c~ my.iso test02 wj234.q1C
You have new mail in /var/spool/mail/root
[root@192 weijie]# tmpwatch 1 .
[root@192 weijie]# ls
1.c 1.c~ 2.c
2)不刪除指定使用者的檔案
[root@192 weijie]# ll
總用量 12
-rwxr–r– 1 root david 12 9月 13 16:49 1.c //檔案所有者都是root
-rw-r–r– 1 root david 30 9月 13 16:43 1.c~
-rwxr–r– 1 root root 11 9月 13 16:52 2.c
[root@192 weijie]# tmpwatch -U root 1 . //不刪除root使用者的檔案
[root@192 weijie]# ls
1.c 1.c~ 2.c
刪除最近一段時間沒有訪問的檔案,時間以小時為單位,節省磁碟空間。tmpwatch遞迴刪除給定時間未被訪問的檔案。通常,它用於清理用於臨時儲存空間(如/tmp)的目錄。當更改目錄時,tmpwatch對可能的爭用條件非常敏感,如果檢測到錯誤,就會退出。它不遵循它正在清理的目錄中的符號連結(即使給出一個符號連結作為它的引數),它不會切換檔案系統,跳過根使用者的lost+found目錄,只刪除空目錄、常規檔案和符號連結。
預設情況下,tmpwatch根據檔案的atime(訪問時間),而不是它們的Mtime(修改時間)來確定檔案的日期。如果檔案在“ls-l”暗示應該刪除時沒有被移除,請使用“ls-u”檢查它們的資料,以確定這是否解釋了問題的原因。
如果指定了–atime”,“–ctime”或者“–mtime”選項,那麼刪除檔案的時間由他們中的最大值決定。如果“–dirmtime”選項意味著忽略目錄的atime,即使使用了“—atime”選項。
此命令的適用範圍:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。
1、語法
tmpwatch [選項] time file
tmpwatch [-u|-m|-c] [-MUadfqstvx] [–verbose] [–force] [–all] [–nodirs] [–nosymlinks] [–test] [–fuser] [–quiet] [–atime|–mtime|–ctime] [–dirmtime] [–exclude path] [–exclude-user user] time dirs
2、選項列表
-u | –atime
根據檔案的atime(訪問時間)做出刪除檔案的決定。請注意,定期更新的檔案系統掃描使目錄保持最近的狀態。
-m | –mtime
根據檔案的Mtime(修改時間)而不是atime做出刪除檔案的決定。
-c | -ctime
根據檔案的ctime(Inode Changing Time)而不是atime來決定刪除檔案;對於目錄,根據mtime做出決定
-M | –dirmtime
根據目錄的Mtime(修改時間)而不是atime作出刪除目錄的決定;完全忽略目錄的atime
-a | -all
刪除所有檔案型別,而不僅僅是常規檔案、符號連結和目錄。
-d | –nodirs
不要嘗試刪除目錄,即使它們是空的。
-f | -force
強制刪除,即使root使用者沒有寫的權利
-l | –nosymlinks
不刪除符號連結
-q | –quite
只報告致命錯誤
-s | –fuser
嘗試在刪除檔案之前使用“fuser”命令檢視檔案是否已開啟。預設情況下未啟用。在某些情況下確實有幫助,但不是全部。依賴於/sbin中安裝的fuser。不支援HPUX或Solaris
-t | –test
不刪除,只是演示要做什麼
-U | –exclude-user=user
不刪除指定所有者的檔案,可以指定使用者名稱,也可以指定使用者ID
-v | –verbose
顯示詳細資訊
-x | –exclude
跳過目錄及其內部檔案,如果路徑不存在,則它必須是不包含符號連結的絕對路徑。
-X | –exclude-pattern=pattern
跳過路徑匹配模式;如果目錄匹配模式,則其中包含的所有檔案也將被跳過。模式必須匹配不包含符號連結的絕對路徑。
3、例項
1)刪除當前目錄1小時內沒有訪問的檔案
[root@192 weijie]# ls
1.c 2.c 3.c magic.mgc test01 test03 wjtpflR
1.c~ 2.c~ 3.c~ my.iso test02 wj234.q1C
You have new mail in /var/spool/mail/root
[root@192 weijie]# tmpwatch 1 .
[root@192 weijie]# ls
1.c 1.c~ 2.c
2)不刪除指定使用者的檔案
[root@192 weijie]# ll
總用量 12
-rwxr–r– 1 root david 12 9月 13 16:49 1.c //檔案所有者都是root
-rw-r–r– 1 root david 30 9月 13 16:43 1.c~
-rwxr–r– 1 root root 11 9月 13 16:52 2.c
[root@192 weijie]# tmpwatch -U root 1 . //不刪除root使用者的檔案
[root@192 weijie]# ls
1.c 1.c~ 2.c
相關文章
- Linux基礎命令---tmpwatchLinux
- tmpwatch 命令整理
- tmpwatch命令詳解
- linux 命令 基礎Linux
- Linux基礎命令Linux
- Linux基礎命令---ftpLinuxFTP
- Linux基礎命令---apachectlLinuxApache
- Linux基礎命令---mysqlLinuxMySql
- Linux基礎命令—initLinux
- Linux基礎命令---ifcfgLinux
- Linux基礎命令—pgrepLinux
- Linux基礎命令---pgrepLinux
- Linux基礎命令—nohupLinux
- Linux基礎命令—killallLinux
- Linux基礎命令---suLinux
- Linux基礎命令---chshLinux
- Linux基礎命令---chfnLinux
- Linux基礎命令—splitLinux
- Linux基礎命令---trLinux
- Linux基礎命令---splitLinux
- Linux基礎命令---foldLinux
- Linux基礎命令—catLinux
- Linux基礎命令---catLinux
- Linux基礎命令---cpLinux
- Linux基礎命令---pasteLinuxAST
- Linux基礎命令---whereisLinux
- Linux基礎命令---whichLinux
- Linux基礎命令---sortLinux
- Linux基礎命令—sortLinux
- Linux基礎命令---cmpLinux
- Linux基礎命令---diffstatLinux
- Linux基礎命令—diffstatLinux
- Linux基礎命令---mvLinux
- Linux基礎命令---diffLinux
- Linux基礎命令---lsLinux
- Linux基礎命令—mkdirLinux
- Linux基礎命令---lnLinux
- Linux基礎命令—findfsLinux