Необходимо запускать питоновский скрипт с параметрами в scheduler'е windows.
Сейчас он запускается только если я залогинен. Если нажать логофф скрипт не запускается. Переменные прописаны, права на всё есть, пути указаны полные, настройки локальной безопасности выставлены. Пробовал создавать задание миллионом способов, наверное, указывал и путь запуска и аргументы и пр. Не работает. Если ты залогинен - всё ок. и вручную работает и по расписанию.
Может кто посоветует что-нибудь хорошее? Спасибо.
Так и делаю, есть батник, из которого запускаю. Но пробовал и чисто питоновский скрипт - тоже самое.
Скрипт - это утилита для загрузки бэкапов на amazon s3. батник примерно такой:
C:\Python27\python.exe C:\Backups\s3\s3cmd put file s3://...file*%DATE:~10,4%-%DATE:~4,2%-%DATE:~7,2%*
ведет себя также. запускается только если пользователь- владелец задания залогинен.
А вместо своего "хитрого" скрипта какой-нибудь print('Hello, World!') не пробовали ставить?
И зачем имя выходного файла с датой формировать средствами командного процессора, лучше бы на питоне тоже.
Да, это, пожалуй, самая очевидная галка, на самом видном месте. Конечно она установлена. Экспериментальным путём установил что батник запускается, а вот питоновский скрипт внутри нет.
Используйте полные статические пути до файла скрипта. В приведенном выше коде я вообще не заметил .py скриптов. Сделайте вывод логов в файл в общей папке, питон тоже наверняка запускается, но потом что-то идет не так.
Ну и если ничего не помогает, установите linux и используйте crontab :D
s3cmd - это питоновский скрипт. Выдает ничего не говорящую ошибку.
Подавляющее большинство серверов на центосе, да, там всё работает. Вот один только гадкий утёнок.
Если запускаешь залогиненным - он выводит хелп в файлик test3.txt
Так настроена таска
Сама задача - пробовал разные варианты в полях arguments и start in
В локальный настройках безопасности пользователи указаны нужные
В результате создаётся пустой файл test3.txt , что говорит о том что батник запустился, а питон-скрипт внутри нет. В журнале это выглядит так. Ошибки отметил желтым маркером:
Ребята, всем спасибо. Разобрался. Перенаправил вывод stderr в файлик (2>file)
Дело в самом было скрипте, он ищет конф. файл по путям в переменных окружения, которые не задаются без логона.
Добавил в батник сверху переменные. Так работает:
set USERPROFILE=C:\Users\Administrator
set APPDATA=C:\Users\Administrator\AppData
C:\Python27\python.exe C:\Backups\s3\s3cmd ...