Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 12

Тема: Как организовать запуск python скрипта в linux?

  1. Как организовать запуск python скрипта в linux?

    Ребята, всем привет! Столкнулся с задачей, нужно настроить запуск python скрипта в linux так, чтобы он работал автоматически по расписанию. Скрипт должен запускаться каждый день в определённое время. Я в linux еще не очень силен, поэтому нужны советы. Какие есть способы это сделать? Также хотелось бы понять, как правильно настроить окружение для скрипта. Может кто-нибудь подкинет пример кода и опишет все шаги? Спасибо!



  2. Ждём вас в нашем чате в Телеграмм ==>> @pythoneer_chat

    А ТАКЖЕ: Канал о Python, статьи и книги ==>>
    @pythoneer_ru

  3. Ну, самый стандартный метод - это cron. Это анолог виндовского 'Task Scheduler'. Довольно просто можно настроить, вот пример:

    Программный код:
    # Для редактирования crontab исполльзуй команду:
    crontab -e

    # Затем добавь строку вида:
    0 5 * * * /usr/bin/python3 /path/to/your_script.py 
    Эта строка запустит твой скрипт каждый день в 5 утра. Автор, настрой окружение правильно, не забудь указать полный путь к python интерпретатору.

  4. Цитата Сообщение от Забава
    Ну, самый стандартный метод - это cron. Это анолог виндовского 'Task Scheduler'. Довольно просто можно настроить, вот пример:

    Программный код:
    # Для редактирования crontab исполльзуй команду:
    crontab -e

    # Затем добавь строку вида:
    0 5 * * * /usr/bin/python3 /path/to/your_script.py 
    Эта строка запустит твой скрипт каждый день в 5 утра. Автор, настрой окружение правильно, не забудь указать полный путь к python интерпретатору.
    cron - штука мощная, только не забудь проверить права на выполнения у скрипта, чтоб потом на пустяках не застрять.

  5. Чувак, можешь еще юзать systemd timers. Это гибче, чем cron. Например, закидуешь юнит:

    Программный код:
    [Unit]
    Description=Запуск моего скрипта

    [Service]
    ExecStart=/usr/bin/python3 /path/to/your_script.py

    [Install]
    WantedBy=default.target 
    Ну и таймер:

    Программный код:
    [Timer]
    OnCalendar=daily
    Persistent
    =true

    [Install]
    WantedBy=timers.target 
    Сейви их в файлы '.service' и '.timer' в /etc/systemd/system/. Затем активируешь:

    Программный код:
    systemctl enable your_script.timer
    systemctl start your_script
    .timer 

  6. Цитата Сообщение от OceanWhisperer
    Чувак, можешь еще юзать systemd timers. Это гибче, чем cron. Например, закидуешь юнит:

    Программный код:
    [Unit]
    Description=Запуск моего скрипта

    [Service]
    ExecStart=/usr/bin/python3 /path/to/your_script.py

    [Install]
    WantedBy=default.target 
    Ну и таймер:

    Программный код:
    [Timer]
    OnCalendar=daily
    Persistent
    =true

    [Install]
    WantedBy=timers.target 
    Сейви их в файлы '.service' и '.timer' в /etc/systemd/system/. Затем активируешь:

    Программный код:
    systemctl enable your_script.timer
    systemctl start your_script
    .timer 
    Для продвинутости, конечно, systemd норм. Только не забудь про 'daemon-reload' после редактирования сервиса. И указывать полный путь до скрипта!

  7. Если хочешь быстро и просто, юзай `nohup` и `&`:

    Программный код:
    nohup python3 /path/to/your_script.py 
    Это просто заставит скрипт работать в фоне, даже если ты вырубишь терминал.

  8. Цитата Сообщение от Эдуард
    Если хочешь быстро и просто, юзай `nohup` и `&`:

    Программный код:
    nohup python3 /path/to/your_script.py 
    Это просто заставит скрипт работать в фоне, даже если ты вырубишь терминал.
    Самый прямолинейный способ, но так на автозапуске не поднимешь. Только если условия не поменяются.

  9. Еще один вариант - юзать программы вроде 'Anacron'. Это как cron, только работает даже если комп был выключен в момент запуска. В файл /etc/anacrontab можно добавить:

    Программный код:
    1 5 myjob /usr/bin/python3 /path/to/your_script.py 
    Это запустит твой скрипт раз в день с задержкой в 5 минут после включения.

  10. Цитата Сообщение от Azht
    Еще один вариант - юзать программы вроде 'Anacron'. Это как cron, только работает даже если комп был выключен в момент запуска. В файл /etc/anacrontab можно добавить:

    Программный код:
    1 5 myjob /usr/bin/python3 /path/to/your_script.py 
    Это запустит твой скрипт раз в день с задержкой в 5 минут после включения.
    Для серверов это тема, особенно если бывают перебои с питанием.

Страница 1 из 2 12 ПоследняяПоследняя