Моя база данных работает внутри контейнера Docker, и я хочу загружать данные из CSV-файлов в базу данных каждый час.
Внутри контейнера выполняется этот скрипт идеально вручную, но я не могу запустить задание внутриконтейнер mysql.
#!/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.* 1008 ут *