我的数据库在 docker 容器中运行,我想每小时将数据从 csv 文件加载到数据库中
在容器内手动完美运行此脚本,但我无法在 mysql 容器内启动 ron 作业。
#!/usr/bin/env bash
cd /import/logs/301
for f in *.csv
do
mysql -e "LOAD DATA LOCAL INFILE '"$f"' IGNORE INTO TABLE 301 FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' IGNORE 2 LINES (@date,@time,R3,R2,R1) SET MeasuringTime = timestamp(str_to_date(@date,'%Y/%m/%d'), @time)" -u USER --password=PASSWORD DATABASE
done
cd /import/logs/302
for f in *.csv
do
mysql -e "LOAD DATA LOCAL INFILE '"$f"' IGNORE INTO TABLE 302 FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n' IGNORE 2 LINES (@date,@time,R3,R2,R1) SET MeasuringTime = timestamp(str_to_date(@date,'%Y/%m/%d'), @time)" -u USER --password=PASSWORD DATABASE
done
我更喜欢在主机上运行 cron,但是怎么做呢?
或者我应该带一个额外的导入容器,你将如何构建 docker-compose.yml