crontabとvim

困ったのである。
サーバたちに定期的に作業させようとして、crontabを編集したのだが、さっぱり反映されない。
よくよくメッセージを見たら、ちゃんと、
crontab: temp file must be edited in place
という警告が出ているではないか。

検索してみると、あちこちで困っている人々がいるようだ。
なんでも、一時ファイルを作る、とか、作らない、とか。

サーバたちの中で、唯一、Leoperdサーバ…このブログ等の実験用自宅サーバ…ではそのようなことは起きていないことに気付く。

MacPortsを使って、vimのバージョンを上げた。
その際、カーソルが括弧どもに移動すると対応する括弧が強調される機能が気に入って、
:set showmatch
と1行書いた.vimrcを作成しまくっていたのだな。

で、グローバルな環境設定ファイル、
/usr/share/vim/vimrc
の中の記述、
” Don’t write backup file if vim is being called by “crontab -e”
au BufWrite /private/tmp/crontab.* set nowritebackup
” Don’t write backup file if vim is being called by “chpass”
au BufWrite /private/etc/pw.* set nowritebackup

が気になったのだけれども、何だかよくわからんかったので、無視してしまっていた…
これが敗因だろう。
何しろ、ちゃんと例外が書いてあるのだから。

問題は、このグローバルな環境設定よりも自分の作った.vimrcが優先されることだな。
なんで?
仕様だよな…ドキュメント読みなさい、はい。
仕方ないので、同じ記述を.vimrcに書いてみることにした。

Leopardの場合は、portsでバージョンを上げていないから、/usr/share/vim/vimrcを参照しているのだと思いたい。
それ以外の、portsでvimのバージョンを上げたサーバたちは、
/usr/local/share/vim/
の中のvimrcを参照するのか???

面倒だから、考えたくない。

それよりも、P2Pと、IPアドレスの不正使用の犯人の燻り出しが優先するのだ。

Author: Kumecchi

コメントを残す