コマンドラインとcrontabの出力が異なります。

コマンドラインとcrontabの出力が異なります。

2つの異なるコンピュータ間の接続が失われるたびに警告を送信しようとします。

デフォルトでは、PC N°4からPC N°5のポート6031への接続が確立されていることをPC N°2で確認する必要があります。

PC N°2には、Ubuntu Server 16.04、4、5、Windows Server 2012があります。

実際、接続は表示できますが、警告を送信することはできません。

私は現在この小さなスクリプトを使用しています。

alerta=$(sshpass -p 'password' ssh [email protected] netstat -na | grep "6031")

if [[ $? != 0 ]]; then
    (Here goes a code that sends a SMS to my phone saying everything is ok)
else [[ $alerta ]]; then
    (Here goes a code that sends a SMS to my phone saying something is not ok)
fi

これはコマンドラインからコマンドを実行したときの出力です。

user2@pc2:~$ sshpass -p 'password' ssh [email protected] netstat -na | grep "6031"
  TCP    10.8.0.4:54961      10.8.0.5:6031       ESTABLISHED
cra@atlas:~$

動作しますが、crontabを使用すると「エラー」メッセージのみが送信されます。

このコマンドはrootアカウントとユーザーアカウントの両方で動作しますが、cronで動作しようとすると失敗します。

よろしくお願いします。

ベストアンサー1

おすすめ記事