cron で sudo コマンドを使うと /var/log/secure に以下のようなエラーが出て実行できないという問題が起きた。 sorry, you must have a tty to run sudo 原因は /etc/sudores に以下の設定があるせいだ。 # # Disable "ssh hostname sudo ", because it will show the password in clear. # You have to run "ssh -t hostname sudo ". # Defaults requiretty とりあえずこの requiretty をコメントアウトすれば無事sudoがcronでも使えるようになる。 どうやらFedoraのいくつかやCentOS5など、最近のディストリビューションだとデフォルトがこの設定になった様だ。