Debian
僅在超過特定時間時更新 apt-get 記憶體
我在debian上。僅當自上次更新以來的時間大於或小於使用直接命令的特定量時,我才想執行 apt-get update (也許還有其他東西),沒有 cron 技巧或類似的。
假設我對 apt-get previous state 一無所知,自作業系統安裝以來可能從未發布過更新,或者在 2 分鐘前手動觸發,或者由無人值守升級服務自動發布。
例如。
if(time > 30 min) apt-get update if(time > 2 days) something else
這個問題類似於我在 askubuntu 中找到的另一個問題,但由於 debian config 中的設置不同,我找不到通知我上次更新命令何時發生的時間戳文件。
/var/cache/apt/pkgcache.bin
每次執行時都會重新生成文件apt-get update
(否則不會重新生成)。例如,如果您只想
apt-get update
在過去一小時內未執行時執行,則可以使用#!/bin/sh last_update=$(stat -c %Y /var/cache/apt/pkgcache.bin) now=$(date +%s) if [ $((now - last_update)) -gt 3600 ]; then apt-get update fi
或者
#!/bin/sh if [ -z "$(find /var/cache/apt/pkgcache.bin -mmin -60)" ]; then apt-get update fi
請注意,如果您幾乎同時執行此腳本的多個副本,它們可能都決定執行
apt-get update
. 如果這是一個問題,請使用鎖(這是一個完全獨立的問題)。