FreeBSD の ports tree の更新を cron で実行する。
cron の設定は次のようにしている。
0 3 * * * root /usr/sbin/portsnap -I cron update 1> /dev/null && /usr/sbin/pkg version -vIL=
コマンドの説明
・portsnap cron
ports tree を更新するのは、portsnap update で良い。
cron の設定は、他のサーバのものと同じになりやすいため、世界中から同じ時間に portsnap のサーバにアクセスすることになる。
これを避けるため、ランダムに時間をずらす "portsnap cron" とする。
・portsnap -I update 1> /dev/null
"portsnap cron" で fetch したportstree を update する。
"-I" をつけると INDEX file のみをupdateし、ports tree はアップデートしない。
cron で port tree を update していた時、何かの port をビルド・インストールしていた場合、トラブルになる。
なので、cron を利用して ports tree を update しないほうが良い。
そこで、cron では、INDEX のみ update しておき、実際に ports をビルドする前に、"-I" なしで portsnap update を実行する。
"1> /dev/null"
update の出力が報告メールに多いため出力をなくす。
・pkg version -vIL=
ports tree とインストールされている port のバージョンをチェックする。
"-v" 詳しい出力をする
"-I" INDEX file を使ってチェックする。
"-L=" インストールされているモノと最新のバージョンが "=" で "ない"。
cron の設定は次のようにしている。
0 3 * * * root /usr/sbin/portsnap -I cron update 1> /dev/null && /usr/sbin/pkg version -vIL=
コマンドの説明
・portsnap cron
ports tree を更新するのは、portsnap update で良い。
cron の設定は、他のサーバのものと同じになりやすいため、世界中から同じ時間に portsnap のサーバにアクセスすることになる。
これを避けるため、ランダムに時間をずらす "portsnap cron" とする。
・portsnap -I update 1> /dev/null
"portsnap cron" で fetch したportstree を update する。
"-I" をつけると INDEX file のみをupdateし、ports tree はアップデートしない。
cron で port tree を update していた時、何かの port をビルド・インストールしていた場合、トラブルになる。
なので、cron を利用して ports tree を update しないほうが良い。
そこで、cron では、INDEX のみ update しておき、実際に ports をビルドする前に、"-I" なしで portsnap update を実行する。
"1> /dev/null"
update の出力が報告メールに多いため出力をなくす。
・pkg version -vIL=
ports tree とインストールされている port のバージョンをチェックする。
"-v" 詳しい出力をする
"-I" INDEX file を使ってチェックする。
"-L=" インストールされているモノと最新のバージョンが "=" で "ない"。