Найти в Дзене
МЭTR

Orange 3B: Решение задач на Python, помогает GPT

В общем начинает трудится мой самодельный сервер, как и писал ранее я остановился на Rapsberry OS. (https://dzen.ru/a/Z5aeZyAz9lh_zxa8) В общем суть проблемы такая: интернет Оранж Пи получает от роутера по Wi-fi (не по проводу Ethernet), возможно в дальнейшем подключу, но пока так как есть. Роутер у меня настроен каждый день в 06:00 перезагружаться, и я заметил, что после перезагрузки бывает, что не коннектится Оранж Пи. Соответственно на помощь приходит Python который будет проверять наличие интернета и в случае отсутствия его будет перезагружать мой Оранж Пи, будем это делать раз в день в 7 утра. Задача была разделена на 2 части и озвучена CHAT GPT. Вот первая часть это код для Python: #Скрипт проверяет наличие доступа к сайту гугл если есть интернет или нет, если нет то перезагрузка import requests import os import time def make_request(): try: # Делаем запрос на Google response = requests.get('https://www.google.com') # Если запрос успешен, выводим результат if response.status_cod

В общем начинает трудится мой самодельный сервер, как и писал ранее я остановился на Rapsberry OS. (https://dzen.ru/a/Z5aeZyAz9lh_zxa8)

В общем суть проблемы такая: интернет Оранж Пи получает от роутера по Wi-fi (не по проводу Ethernet), возможно в дальнейшем подключу, но пока так как есть.

Роутер у меня настроен каждый день в 06:00 перезагружаться, и я заметил, что после перезагрузки бывает, что не коннектится Оранж Пи.

Соответственно на помощь приходит Python который будет проверять наличие интернета и в случае отсутствия его будет перезагружать мой Оранж Пи, будем это делать раз в день в 7 утра.

Задача была разделена на 2 части и озвучена CHAT GPT.

Вот первая часть это код для Python:

#Скрипт проверяет наличие доступа к сайту гугл если есть интернет или нет, если нет то перезагрузка
import requests
import os
import time
def make_request():
try:
# Делаем запрос на Google
response = requests.get('https://www.google.com')
# Если запрос успешен, выводим результат
if response.status_code == 200:
print('Запрос успешен!')
else:
print(f'Ошибка: код состояния {response.status_code}')
restart_server()
except requests.exceptions.RequestException as e:
# Если возникла ошибка при выполнении запроса
print(f'Ошибка запроса: {e}')
restart_server()
def restart_server():
print('Перезагрузка сервера...')
# Задержка перед перезагрузкой для безопасности
time.sleep(5) # Перезагружаем сервер
os.system('sudo reboot')
if __name__ == '__main__':
make_request()

Вторая часть и действие которое нам понадобится это запускать данный скрипт в определенное время, для того чтобы запускать скрипт каждый день в 7 часов утра на сервере с операционной системой Linux, вы можете использовать планировщик задач `cron`.

Вот как это сделать:

1. **Открыть таблицу cron:**

Выполните команду:

crontab -e

Эта команда откроет редактор для редактирования crontab файла текущего пользователя.

2. **Добавить задание в crontab:**

В открывшемся редакторе добавьте следующую строку:

0 7 * * * /usr/bin/python3 /path/to/file.py

Объяснение:

- `0 7 * * *` — означает, что скрипт будет выполняться каждый день в 7:00 утра.

- `/usr/bin/python3` — это путь к интерпретатору Python 3. Убедитесь, что путь правильный, вы можете проверить его выполнив команду `which python3` в терминале.

- `/path/to/file.py` — полный путь к вашему скрипту `file.py`. Замените `/path/to/` на фактический путь к вашему скрипту.

3. **Сохранить и выйти из редактора:**

После этих действий задание будет добавлено в планировщик `cron`, и ваш скрипт `file.py` будет запускаться каждый день в 7 утра. Убедитесь, что у скрипта есть права на выполнение, если это необходимо. Вы можете сделать это командой:

chmod +x /path/to/file.py