Linux 命令(93)—— updatedb 命令

1.命令簡介

updatedb 命令用於更新 locate 命令使用的數據庫。本文介紹的是 GNU 版本的 updatedb,其它版本的選項會有所不同。

updatedb 作用的數據庫名稱由配置文件(一般爲 /etc/updatedb.conf)或命令行參數確定(一般爲 /var/lib/mlocate/mlocate.db),由系統每日執行 updatedb 更新一次,更新腳本一般爲 /etc/cron.daily/mlocate,在配置文件 /etc/anacrontab 中被調用,由 anacron 每天運行一次。

anacron 是如何被啓動的呢?守護進程 cron 會運行 /etc/cron.d/0hourly,在 /etc/cron.d/0hourly 文件裏,有一條 cron 任務是這樣的:

01 * * * * root run-parts /etc/cron.hourly

這條 cron 任務會運行 /etc/cron.hourly 目錄下的所有腳本,其中有一個名爲 0anacron 的腳本,該腳本則會在合適的時間運行 anacron,anacron 則會檢查 /etc/anacrontab,在合適的時間分別運行 /etc/cron.daily,/etc/cron.weekly,/etc/cron.monthly 目錄下的腳本。

2.命令格式

ps [options]

3.選項說明

--localpaths='PATH1 PATH2...'
	將本地目錄而非網絡目錄放入數據庫。默認爲 /
--netpaths='PATH1 PATH2...'
	將網絡(NFS、AFS、RFS 等)目錄放入數據庫。環境變量 NETPATHS 也設置這個值。默認是沒有的
--prunepaths='PATH1 PATH2...'
	指定不加入數據庫的目錄。可以由環境變量 PRUNEPATHS 指定,默認爲 /tmp /usr/tmp /var/tmp /afs
--prunefs='PATH...'
	指定不能放到數據庫中的文件系統。環境變量 PRUNEFS 也設置這個值。默認是 nfs NFS proc
--output=DBFILE
	指定輸出的數據庫
--localuser=USER
	指定搜索非網絡目錄的用戶,默認爲當前用戶。可以使用環境變量 LOCALUSER 來設置
--netuser=USER
	指定搜索網絡用戶的用戶,默認爲 daemon。 可以使用環境變量 NETUSER 來設置
--dbformat=F
	指定數據庫的格式,默認爲 LOCATE02。另外,還支持 slocate 格式。當使用slocate格式時,生成的數據庫被標記爲安全級別 1。如果你想建一個系統範圍的 slocate 數據庫,以 root 運行 updatedb
--version
	顯示版本信息並退出
--help
	顯示幫助信息並退出

4.常用示例

(1)更新默認數據庫。

updatedb

(2)指定目錄生成數據庫。

updatedb --localpaths='/root' --output=homelocate.db

注意,第一次運行 updatedb 時,由於新創建目錄下所有文件的信息的數據會比較慢。第二次使用 updatedb 時,僅執行數據庫的更新操作,會比較快。


參考文獻

[1] updatedb manual
[2] 詳解:(cron , crontab , anacron)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章