为什么cron给我发送脚本的内容而不是运行它?

我有一个要求,每天导入到MySQL数据库的CSV。 CSV将位于Web服务器的目录中。

这是我目前使用的PHP脚本(名为invoicedataimport.php):

#!/bin/bash

DB_USER='company_reports';
DB_PASSWD='companypassword';

DB_NAME='company_reports';
TABLE='Invoices';

INPUT_FILE='/home3/company/companyreport/invoices/*.csv';

SQL="USE $DB_NAME; LOAD LOCAL DATA INFILE '$INPUT_FILE' REPLACE INTO TABLE `$TABLE` LINES TERMINATED BY ',' CHARACTER SET utf8;"
mysql --user=$DB_USER --password=$DB_PASSWD --default_character_set utf8 $DB_NAME -e "$SQL"

我之前使用* .csv而不是绝对文件名的原因是,每天CSV文件在文件名中都会有一个日期标记。

一旦我得到了上述工作 - 我需要弄清楚如何设置另一个cron将所有CSV文件从该目录移动到另一个“存档”目录。

我已经设置了一个cron工作 - 我不确定我是否做到了这一点:

15 16 * * * /usr/bin/php /home3/company/companyreport/crons/invoicedataimport.php

当时间流逝 - 我收到来自我的服务器的电子邮件通知,只是PHP文件的内容?

链接地址: http://www.djcxy.com/p/66349.html

上一篇: Why does cron email me the contents of my script rather than running it?

下一篇: PHP script does not run as cron job on Ubuntu Server