Есть 2 скрипта на питоне, которые я запускал с помощью bash скриптов на Ubuntu, все прекрасно отрабатывало. Сейчас передо мной задача - перенести эти скрипты на CentOS 6. Так вот - выдал права на запуск скриптов chmod +x /path и сделал root'а владельцем. Запуск прописываю прямиков в /etc/crontab Если я запускаю руками скрипт /path_to_script.sh все работает замечательно, но если я ставлю скрипт в расписание cron'а - вылезает ошибка: python3.5: команда не найдена. Точно также если я запускаю отдельно скрипт python3.5 /path_to_script.sh - все работает замечательно, через cron упирается рогом...
Я добавил в скрипты питона #!/usr/bin/env python3.5
К сожалению, я совсем не умею в питон, скрипты на питоне не мои, но запустить их нужно по расписанию.
#!/bin/bash
echo -e "!------------------" >> /mnt/folder/EnerGenie.log #/var/log/log_scripts/EnerGenie.log
TodayIs=$(date +%d%b%y_%H:%M:%S)
echo $TodayIs >> /mnt/folder/EnerGenie.log #/var/log/log_scripts/EnerGenie.log
echo 'Включение' >> /mnt/folder/EnerGenie.log #/var/log/log_scripts/EnerGenie.log
exec 2>> /mnt/folder/EnerGenie.log #/var/log/log_scripts/EnerGenie.log
python3.5 /root/scripts/EnerGenie/EnerGenie_on.\py
echo -e "------------------!\\n" >> /mnt/folder/EnerGenie.log #/var/log/log_scripts/EnerGenie.log
exit 0
#!/usr/bin/env python3.5
import http.client
import urllib.parse
# HTTP заголовок
headers = {'Content-type': 'application/x-www-form-urlencoded',
'Accept': 'text/plain'}
# параметры передаваемые на сервер для авторизации
# pw - пароль
params = urllib.parse.urlencode({'pw': 1})
# подключение к серверу (розетка)
conn = http.client.HTTPConnection('10.4.0.21')
# запрос на авторизацию
conn.request('POST', '/login.html', params, headers)
response = conn.getresponse()
print(response.status, response.reason)
data = response.read()
conn.close()
# параметры передаваемые на сервер для включения/отключения розетки
# cte1-cte4 - слот, принимает 0 или 1. 0 - выключить, 1 - включить
params = urllib.parse.urlencode({'cte1': '', 'cte2': '', 'cte3': 1, 'cte4': ''})
# подключение к серверу (розетка)
conn = http.client.HTTPConnection('10.4.0.21')
# запрос на включение/отключение
conn.request('POST', '', params, headers)
response = conn.getresponse()
print(response.status, response.reason)
data = response.read()
conn.close()