sshでリモートホストにアクセスしてsudoする処理があるスクリプトをcronにしかけると、以下のエラーになってしまう。 sudo: sorry,you must have a tty to run sudo. tty(端末)を持っていない状態でsudoしてるから。これは/etc/sudoersの編集で簡単に解決する。 # visudo Defaults requiretty ↓ ↓ ↓ #Defaults requiretty or Defaults !requiretty 特定のユーザに対して許可したかったら以下のように。 Defaults:system_user !requiretty 別にここでいちいち書くまでもないことだが、解決してうれしかったのでメモ。 追記 -ttオプションをつければ、sudoersを編集しなくてもsudo実行が可能。 $ ssh -tt remote-hos