我想设置一个cron来将作业从URL复制到服务器。
我使用的cron命令是:
cd /home/username/public_html/bin/sh; /usr/local/php54/bin/php script.php;
script.php文件包含:
rm -f /home/username/public_html/filepath/file.zip; cd /home/username/public_html/filepath/; wget -q -O /dev/null "https://www.domain.com/file.zip"
但它没有用。
如果档案/home/username/public_html/filepath/file.zip
已经存在,我还想将其复制。
非常感谢您的帮助。
答案 0 :(得分:0)
打开crontab进行编辑
crontab -e
在这个时间表上添加一行(请查看所需的时间表):
* / 10 * * * * rm -f /home/username/public_html/filepath/file.zip; cd / home / username / public_html / filepath /; wget -q -O / dev / null" https://www.domain.com/file.zip"
cron将每10分钟运行并删除file.zip,而不是将新文件.zip下载到/ home / username / public_html / filepath /.
答案 1 :(得分:0)
PHP脚本有两种模式:
<?php
和?>
您的PHP脚本:
rm -f /home/username/public_html/filepath/file.zip; cd /home/username/public_html/filepath/; wget -q -O /dev/null "https://www.domain.com/file.zip"
等同于shell脚本:
echo 'rm -f /home/username/public_html/filepath/file.zip; cd /home/username/public_html/filepath/; wget -q -O /dev/null "https://www.domain.com/file.zip"'
...除非你查看cron的输出(可能是通过电子邮件发送给你),否则它没有明显的效果。
那些不是PHP命令,它们是shell命令。因此,使用shell而不是PHP来执行脚本。
cd /home/username/public_html/bin/sh; /bin/sh script.php;
...并考虑将其重命名为不那么具有欺骗性的内容,例如script.sh
。