我需要每天将CSV导入mysql数据库。 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文件从该目录移动到另一个“Archive”目录。
我已经设置了一个cron作业 - 我不确定我是否做得对:
15 16 * * * /usr/bin/php /home3/company/companyreport/crons/invoicedataimport.php
当时间过去了 - 我收到来自我服务器的电子邮件通知,其中只包含PHP文件的内容?