2017-11-22 10 views
0

私のスクリプトは手動で動作していますが、crontabでは動作しません。この問題に関するすべてのトピックを読む私はcrontab経由で多くのことを試しました。スクリプトは正常に動作しますが、crontabでは動作しません

私のスクリプトは以下の通りです。

#!/bin/bash 
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 
nodetool status > cqlsh_control.txt 
cs1=`more cqlsh_control.txt | awk '{print $1}' | sed -ne 6p | cut -d"%" -f1` 
SLACK_ICON=":red_circle:" 
if [ "$cs1" != "UN" ]; then 

curl -S -X POST --data "payload={\"text\": \"{Cqlsh is not responsing Cassandra2} \",\"username\":\"CQLSH\",\"icon_emoji\":\"${SLACK_ICON}\" 
}" https://hooks.slack.com/services/T05xxxxW/B7xxxxxx09/QdotCzoxxxxxxxHxOsrnjS 

fi 
+1

を/home/ec2-user/cqlsh_control.s? さらに、あなたのcrontabはどのように見えますか? –

+0

my crontab */1 * * * * /home/ec2-user/cqlsh_control.shまた、さまざまな組み合わせを試してみてください。crontab */1 * * * * sh /home/ec2-user/cqlsh_control.sh – getaffe

+2

あなたのcrontabでこれを追加してください: '/ tmp/out1 2>/tmp/out2'。これにより、スクリプトで発生した出力とエラーが表示されます。またあなたの電子メールをチェックしてください、crontabはスクリプトからの出力をメールします。もう一つ、 '*/1'は' crontab 'が毎分1回以上実行されないので '*'と同じです。 – Nic3500

答えて

-4

以下のようにcrontabを編集してシェル/ bin/shをスクリプトの前に置きます。あなたは > didntの仕事、具体的に何が起こったか を言うとき

*/1 * * * */binに/ shが

+0

OPのスクリプトは '/ bin/sh'に移植可能であるようですので、この場合は無害ですが、シバンが'/bin/bash'と言う限り、これは間違ったアドバイスです。 https://stackoverflow.com/questions/47438573/how-to-protect-virtual-machine-data-from-a-vds-providerも参照してください。 – tripleee

関連する問題