TTY経由ではないsudoの実行

crontabから呼び出すスクリプトとかでsudoしようとするとこんなメッセージがでます。

sorry, you must have a tty to run sudo

ttyがないとsudoできないってことですね。

これを可能にするには/etc/sudoersのDefaults requirettyをコメントアウトすればいい

vi /etc/sudoers

#Defaults requiretty

 

 

 

 

 

dateコマンドで指定した時間だけずらした時間を表示させる方法

スクリプティングしていて1時間前の時間を取得したいときがあります。

いろいろ方法はありますがdateコマンドでも可能です。

一時間前

date –date ‘1 hours ago’

一時間後

date –date ‘1 hours’

1年3ヶ月と10日前

date –date ‘1years ago 3 month ago 1day ago’

 

同時に表示形式の変更をするときはこう

date –date ‘1 hour’ +’%y%m%d%H%M’