Я записал сценарий Python, который обрабатывает загрузки видео в каталоге к YouTube с помощью API YouTube и затем перемещает каждый файл из того каталога. Это предназначено как задание крона и работы части загрузки, но по некоторым причинам это остановило способность переместить файлы. Я не могу выяснить, почему это не может переместить файлы. Задание крона выполняется как пользователь 'joe'.
Это - ошибка, я вхожу в вывод:
mv: cannot stat '/home/joe/KM/queue/FC9682GS01-I04 WMOMANAAAA.mp4': No such file or directory
Вот образец команды, называемой с помощью сценария Python с помощью os.system ():
/usr/local/bin/youtube-upload --title="FC9682GS33-I02 WMOMAA6AAB FLASHWAVE 7500 FW7500 GB ETHRNT MXPD" --description="FC9682GS33-I02 WMOMAA6AAB FLASHWAVE 7500 FW7500 GB ETHRNT MXPD" --tags="FC9682GS33-I02,WMOMAA6AAB,FLASHWAVE 7500,FW7500 GB ETHRNT MXPD" --client-secrets="/home/joe/KM/KM-client-secret.json" --privacy public "/home/joe/KM/queue/FC9682GS33-I02 WMOMAA6AAB.mp4" && mv "/home/joe/KM/queue/FC9682GS33-I02 WMOMAA6AAB.mp4" "/home/joe/KM/completed/FC9682GS33-I02 WMOMAA6AAB.mp4"
Вывод ls - la KM, выполненного от ~/:
ls -la KM
total 384
drwxr-xr-x 8 joe joe 4096 Feb 1 13:49 .
drwxr-xr-x 19 joe joe 4096 Feb 1 13:49 ..
drwxr-xr-x 2 joe joe 147456 Feb 1 08:15 completed
drwxr-xr-x 2 joe joe 4096 Jan 25 00:26 data
-rwxr-xr-x 1 joe joe 443 Dec 28 11:13 KM-client-secret.json
drwxr-xr-x 3 joe joe 4096 Jan 24 23:07 openshot
drwxr-xr-x 2 joe joe 192512 Feb 1 08:15 queue
drwxr-xr-x 2 joe joe 4096 Jan 26 10:16 temp
drwxr-xr-x 2 joe joe 4096 Jan 24 23:14 templates
-rwxr-xr-x 1 joe joe 4198 Feb 1 13:49 upload-cron.py
-rwxr-xr-x 1 joe joe 4320 Jan 24 19:03 upload.py
-rwxr-xr-x 1 joe joe 3804 Jan 25 01:30 video-generator.py
И полномочия на рассматриваемом файле, поскольку это находится в/home/joe/KM/queue/:
ls -la "FC9682GS33-I02 WMOMAA6AAB.mp4"
-rwxr-xr-x 1 joe joe 5520724 Jan 26 06:21 FC9682GS33-I02 WMOMAA6AAB.mp4
Задание крона похоже на это:
* 6 * * * /usr/bin/python /home/joe/KM/upload-cron.py
ОБНОВЛЕНИЕ:
В моей отладке я решил попытаться добавить начальную букву mv команда. Я скорректировал вызов os.system для сходства с этим:
mv "/home/joe/KM/queue/3AL46325BA SNUXYV0AAA.mp4" "/home/joe/KM/temp/3AL46325BA SNUXYV0AAA.mp4" && /usr/local/bin/youtube-upload --title="3AL46325BA SNUXYV0AAA 1641 SX RISC PROCR BOARD" --description="SNUXYV0AAA USED ALCATEL PARTS" --tags="3AL46325BA,SNUXYV0AAA,1641 SX,RISC PROCR BOARD" --client-secrets="/home/joe/KM/KM-client-secret.json" --privacy public "/home/joe/KM/temp/3AL46325BA SNUXYV0AAA.mp4" && mv "/home/joe/KM/temp/3AL46325BA SNUXYV0AAA.mp4" "/home/joe/KM/completed/3AL46325BA SNUXYV0AAA.mp4"
Это изменение устранило проблему. Я не могу объяснить механизм фиксации. Однако, если я возвращаю его к исходной строке, продвигаемой через os.system, это повреждается снова.