为什么从cron和其他定时服务调用脚本时脚本没有运行?

2024-06-13 22:40:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我只是想触发一个脚本,每隔一段时间运行一次,将项目下载到一个目录中。在

我有一个python脚本可以下载一个目录。我尝试过直接从cron运行python脚本。。。。在

5 * * * * python /home/yt/pybox/boxclient.py -U email@address.com -td -Pd moremusic/youtube

甚至让cron调用运行python脚本的bash脚本。。。。在

^{pr2}$

我甚至设置了一个inotifywait来监听cron执行触摸命令,然后从那里触发python脚本。。。。在

^{3}$

所有这些都给了我一个错误,我迷失了方向:

Traceback (most recent call last):
  File "boxclient.py", line 224, in <module>
    sys.exit(main())
  File "boxclient.py", line 190, in main
    (parser, options, args) = parse_args(argv)
  File "boxclient.py", line 80, in parse_args
    return (parser, options, decode_args(args, options))
  File "/home/yt/pybox/pybox/utils.py", line 134, in decode_args
    setattr(options, attr, value.decode(ENCODING))
TypeError: decode() argument 1 must be string, not None

当我在cl上运行python和bash脚本时,一切正常


Tags: inpy目录脚本bashhomelineargs
1条回答
网友
1楼 · 发布于 2024-06-13 22:40:51

我认为您需要丢失-U和{}之间的空间。语法是:

python pybox/boxclient.py -Ubob -td -Pd dir1/dir2

(来自https://github.com/hzheng/pybox)。所以在Cron中尝试:

^{pr2}$

一般来说,短格式选项在参数与其参数之间不占用空格,而长格式选项则使用空格。所以它要么是-Uemail@address.com要么是 username email@address.com。在

相关问题 更多 >