скрипт не может быть запущен из crontab, но работает вручную

Мне удалось создать работающий скрипт для сбора информации с защищенного логином сайта, на котором у меня есть членство, я ожидаю, что скрипт будет работать на cronjob, но это не так.

Есть ли что-то, что я делаю здесь неправильно?

#!/bin/bash

COOKIES="kukis.txt"

curl -k -c $COOKIES --data "userid=$(sed -n 1p /home/reza/Videos/.ktsandi.txt)&pass=$(sed -n 2p /home/reza/Videos/.ktsandi.txt)" https://my.smartfren.com/mysmartfren_login/login


LOG="frenlog.html"

until curl 'https://my.smartfren.com/mysmartfren_home'-H 'User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/72.0.3626.121 Chrome/72.0.3626.121 Safari/537.36' -H 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8' -H 'Accept-Language: en-US,en;q=0.5' --compressed -H 'Referer: https://my.smartfren.com/mysmartfren_login' -H 'Connection: keep-alive' -b $COOKIES -H 'Upgrade-Insecure-Requests: 1' -H 'Cache-Control: max-age=0' &> /dev/stdout | tee -a $LOG
do
  echo "$(date '+%d/%m/%Y') - Failed to run, will retry shortly" >> /home/reza/testfren/skrip.log
done && rm /home/reza/testfren/${COOKIES}

# EMAIL DATA
RECIPIENT="danil.cahyadi@gmail.com"
MAILER="rezanas_tion@gmail.com"
SUBJECT="Info kuota harian Smartfren"

# SORTING...
MAIL="frendata.html"

expDateBonus="16/04/2019 23:59:58"
expDate="05/05/2019 23:59:58"

if [[ $(date "+%d/%m/%Y %H:%M:%S") == $expDateBonus ]] || [[ $(date "+%d/%m/%Y %H:%M:%S") == $expDate ]]
then


    grep -A1 -E "<tr><td width='40%'>Bonus Data</td><td>|<tr><td width='40%'>Midnight Internet</td><td>" $LOG | sed "/--/d" | sed -n '3,4p;7,8p' >> $MAIL

else


    grep -A1 -E "<tr><td width='40%'>Bonus Data</td><td>|<tr><td width='40%'>Midnight Internet</td><td>" $LOG | sed "/--/d" >> $MAIL
fi

#SENDING MAIL

(
  echo To: $RECIPIENT
  echo From: $MAILER
  echo "Content-Type: text/html; "
  echo Subject: $SUBJECT
  echo Remaining internet quota as of $(date "+%d/%m/%Y")
  echo 
  cat $MAIL
) | sendmail -t && rm $MAIL $LOG
0
задан 12 April 2019 в 13:25

1 ответ

Во-первых, разумно использовать полный путь к curl, sendmail и т. Д., Чтобы быть уверенным, что вы получите доступ к командам. Во-вторых, это хорошо, чтобы получить ваш профиль Bash:

source /path/to/your/home/.bashrc

или

. /path/to/your/home/.bashrc

и добавить это сразу после

#!/bin/bash
0
ответ дан 12 April 2019 в 13:25

Другие вопросы по тегам:

Похожие вопросы: