【发布时间】:2017-10-26 10:15:26
【问题描述】:
我有一个 bash 脚本,它从 FTP 抓取文件,解压缩,将其插入 MySQL 数据库,然后对该数据库执行一些查询。现在脚本在我手动运行时完美运行,但我需要每天在特定时间运行它。所以我当然把它放在一个 cron 工作中。现在我知道 cron 正在运行,因为在脚本的末尾我让它在日志文件中回显一行并且它一直在这样做。但是,脚本中没有执行 MySQL 命令。
基本上它会从 ftp 抓取文件,然后解压缩,然后不加载文件或执行 mysql 命令,然后将文件移动到不同的目录并回显我的日志。
TLDR:我的 bash 脚本包含 bash 命令和 MySQL 只会在放入 cron 时执行 bash 命令。手动运行时会执行所有命令。
【问题讨论】:
-
你能给我们看看mysql查询吗?
-
有多个但只有一个:for f in /root/XXXX/*.txt do mysql -e "LOAD DATA LOCAL INFILE '"$f"' INTO TABLE XXX FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' IGNORE 1 LINES" -uXXX -pXXX --database=XXXXX done