.sh 和 .php 文件在 crontab 上不起作用 - 已更新

.sh 和 .php 文件在 crontab 上不起作用 - 已更新

我正在使用 Cloud9 Server。我有一个 .sh 文件,当我在终端上打开它时,它可以正常工作,但是,当我在 crontab -e 中添加 crontab 任务来打开此文件时,它无法正常工作。

我的.sh 文件创建了我的网站的备份并将其发送到我选择的路径。

#!/bin/bash

/usr/bin/php remote.phar --action=backup --host=http://admiravelidiota-rodmsantos.c9users.io --secret=MySecretKey --download --dlmode=http --dlpath= "/home/ubuntu/workspace/" 

/bin/echo "Executed"

我让这个文件由以下类型的 php 文件“执行”:

<?php
    $contents = file_get_contents('/home/ubuntu/workspace/teste.sh');
    echo shell_exec($contents);
?>

然后,我添加了这个 php 文件,让它在 crontab 上每 5 分钟执行一次,例如:

*/5 * * * * lynx http://gustavo-gustavomoty.c9users.io/php.php

我已经尝试过 crontab 直接执行 .sh 文件,但没有效果,这就是为什么我尝试使用 .php 文件但仍然不起作用。

答案1

我认为您的 crontab 条目可能有误。条目中的第 6 个字段应该是运行该进程的用户名,而不是运行该脚本的 shell。因此,假设您没有名为“sh”的用户,请用您的用户名替换该条目。

例如(假设您希望以用户“bob”的身份运行该命令):

*/5 * * * * bob /home/ubuntu/workspace/teste.sh

(经过编辑,包含 grooveplex 的评论)

相关内容