Crontab:rm:中的Python脚本无法删除,没有这样的文件或目录
我有一个运行在Linux 3.10.0-862.9.1.el7.x86_64 x86_64上的crontab。在里面,我有 一个python脚本,打印出要删除的特定文件,然后通过管道将其发送到Crontab:rm:中的Python脚本无法删除,没有这样的文件或目录,python,linux,cron,Python,Linux,Cron,我有一个运行在Linux 3.10.0-862.9.1.el7.x86_64 x86_64上的crontab。在里面,我有 一个python脚本,打印出要删除的特定文件,然后通过管道将其发送到xargsrm 例如,我将运行脚本python delete\u this.py,它将打印出以下内容: /directory/to/delete1.txt /directory/to/delete2.txt /directory/to/delete3.txt /directory/to/delete4.tx
xargsrm
例如,我将运行脚本python delete\u this.py
,它将打印出以下内容:
/directory/to/delete1.txt
/directory/to/delete2.txt
/directory/to/delete3.txt
/directory/to/delete4.txt
通过在同一命令提示符下运行| xargs rm
可以删除这些文件。所以
python delete_these.py | xargs rm
脚本在手动运行时运行良好,但在cron上运行时,在作业运行时从邮件检索的标准输出中返回错误:
rm: cannot remove '/directory/to/delete1.txt': No such file or directory
以下是我在crontab中输入的内容:
* * * * * ssh [confidential@stuff.com] python /location/where/my/python/script/is | xargs rm
我已经完成了chmod+x/path/to/python/script
,将完整的命令(不包括星号,但包括ssh
)放在命令行上可以正常工作,但是在cron上运行它会返回“没有这样的文件或目录”错误
我确信这些文件是存在的,它们不是符号闪烁
我尝试了附加python的相关绝对目录(usr/bin/
),但仍然不起作用
我不知道为什么cron不工作。另一个用户在crontab上设置的当前路径
是特定于该框的usr/bin/stuff
目录。
我原以为路径
不同会有问题,但我不认为是这样,因为我在命令中指定了绝对目录
有什么想法吗?我完全被这个问题难住了你在一台计算机上运行
python
命令,在另一台计算机上运行rm
您可能应该引用管道(|
),这样它就不会将事物分开
粗略估计,crontab行应该是:
* * * * * ssh [confidential@stuff.com] "python /location/where/my/python/script/is | xargs rm"
您正在一台计算机上运行
python
命令,在另一台计算机上运行rm
您可能应该引用管道(|
),这样它就不会将事物分开
粗略估计,crontab行应该是:
* * * * * ssh [confidential@stuff.com] "python /location/where/my/python/script/is | xargs rm"
那会是什么样子?它会是:
***ssh吗[confidential@stuff.com]python/location/where/my/python/script/is |“xargs rm”
?添加了一个示例,但是如果您使用的是bourne Shell,那么您可以使用\\
或“|”
。非常感谢你!那会是什么样子?它会是:***ssh吗[confidential@stuff.com]python/location/where/my/python/script/is |“xargs rm”
?添加了一个示例,但是如果您使用的是bourne Shell,那么您可以使用\\
或“|”
。非常感谢你!