2017-11-22 21 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

내 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을 아래처럼 스크립트 전에 쉘/빈/쉬했습니다. 당신이 이> didnt 한 작업 구체적으로 무슨 일 말할 때

*/1 * * * */빈/SH는

+0

OP의 스크립트는'/ bin/sh'에 이식 가능한 것으로 보이므로이 경우 무해합니다. 그러나 Shebang이'/ bin/bash'를 말하고있는 한 이것은 잘못된 조언입니다. https://stackoverflow.com/questions/47438573/how-to-protect-virtual-machine-data-from-a-vds-provider를 참조하십시오. – tripleee