У меня есть программа Python, которая копирует содержание USB-устройств, подключенных к моему ПК, в этом случае это - планшет на базе Android. Сценарий usese pyudev
обнаружить устройства и затем использовать GVfs
смонтировать их.
Я хотел запустить сценарий и выполнить его в backgroud, таким образом, я не должен запускать его каждый раз. Я пытался запустить его в /etc/init/
но выполнение GVfs
как проблемы первопричин, таким образом, я решил запустить скрипт через cron
. У меня есть он набор для запуска в определенное время, если я делаю a ps -aux
и я вижу перечисленный процесс, однако если я включаю свое устройство, ничего не происходит, файлы не копируются.
Если я запускаю сценарий вручную, он работает без любых проблем.
Это - то, что я имею в своем crontab.
45 10 * * * cyberbemon /home/cyberbemon/Development/python/usb-dumper-1.0/build/lib.linux-x86_64-2.7/usb-dumper/./usb-dumper.py
`
Python использует этот ENV #!/usr/bin/env python
Я пытался зарегистрировать вывод программ в файл, как так cyberbemon /home/cyberbemon/Development/python/usb-dumper-1.0/build/lib.linux-x86_64-2.7/usb-dumper/./usb-dumper.py > /home/cyberbemon/usb-dumped/log.txt 2>&1
Но тот файл пуст.
Я получил источник программы отсюда: https://codingteam.net/project/usb-dumper/download
Если Вы отредактировали crontab своего пользователя, то подавляете/стираете имя пользователя cyberbemon
это предшествует продвижению длинного тракта к Вашему сценарию. Вам не нужно имя пользователя там.
Если я не ошибаюсь, Вы указываете среду пользователя с #!
вначале, нет просто !
. Это может просто быть опечатка в сообщении, или Вы забыли выходить из знака фунта в блоке кода при записи сообщения (как так \#!
). Таким образом, это должно читать:
#!/usr/bin/env Python
Это могу просто быть я, но я не знаком с путями, которые содержат /./
где-нибудь в середине, как в:
/home/cyberbemon/Development/python/usb-dumper-1.0/build/lib.linux-x86_64-2.7/usb-dumper/./usb-dumper.py
... без добавленных пробелов. Обычно в большинстве оболочек типа .
:
синоним для cmd source
при одном только использовании перед именем файла.
обозначает скрытый файл, при добавлении префикса имени файла.
используется в regex для соответствия одному отдельному символу
указывает на существующий рабочий каталог при использовании в путях, что касается примера в
$HOME/Desktop CD $; pwd
/home/cyberbemon/Desktop
$HOME/.bashrc CP $.
Я рекомендовал бы перейти к каталогу, где сценарий Python хранится, и в терминале выполняет команду pwd
. Вы получите полный путь к своему сценарию.