Linux 脚本无法通过 crontab 删除文件,但它可以手动工作

标签 linux bash cron rm

我有一个简单的脚本文件,可以将所有文件复制到远程服务器,然后将它们全部删除。我可以通过“用户”手动运行此脚本,当我添加到 crontab(用户)时,第一部分 scp 工作正常,但 rm 部分总是失败。 我想知道我遗漏了什么或设置不正确,有人可以帮我解决这个问题吗?

提前致谢

/home/user/bin/test.sh

#!/bin/bash

scp -v -r /var/spool/asterisk/monitor test@xx.xx.xx.xx:/home/test/audio&&sudo rm -f /var/spool/asterisk/monitor/*

/var/spool/asterisk/monitor 的访问权限

drwxr-xr-x. 1 root root 532 Sep 06 11:14 monitor

crontab - 用户]

* */1 * * * bash /home/user/bin/test.sh

最佳答案

试试这个,如果 sudo 不需要密码(这是可能的),它将起作用

scp -v -r /var/spool/asterisk/monitor test@xx.xx.xx.xx:/home/test/audio &&   ssh test@xx.xx.xx.xx "sudo rm -f /var/spool/asterisk/monitor/*"

关于Linux 脚本无法通过 crontab 删除文件,但它可以手动工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39349273/

相关文章:

linux: 搜索最近修改过的 *.php 类型的文件

arrays - 如何使用带有 Bash 的子字符串对字符串数组进行排序

bash - 计算在线 session 的总时间 - 跟进

python 运行 bash 命令得到不好的结果

php - SELECT+UPDATE 避免返回相同的结果

linux - 创建命令历史记录管道,如何摆脱 ack 传递的换行符?

linux - 计时器检查文件末尾 bash shell

java - AppEngine/Java Cron DeadlineExceededException

ssl - 从 CRON 发出调用 REST(特别是端口 443)的问题

c - 打开命名管道的问题