Crontab:rm:中的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

我有一个运行在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.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,那么您可以使用
\\
“|”
。非常感谢你!