Я создал скрипт bash, который выполняет команду docker для выгрузки базы данных MySQL:
dump_db.sh
#!/bin/bash
time=$( date +%Y%m%d%H%M )
currdir=$( pwd )
cat $currdir/container_list | while read container; do
echo "" | docker exec -i $container mysqldump -u <user> -p<password> <dbname> > $currdir/$container-$time.sql
done
Если япопробуйте запустить скрипт вручную, все отлично работает , но если я использую cron
, скрипт не выполняется.
Мой crontab:
PATH=<same environment>
26 17 * * * /bin/sh /path/to/script/dump_db.sh
, как вы можетевидите, я пытался также экспортировать PATH (и проверил его с помощью команды env
в crontab), но ничего.Я также пробовал с этими строками
26 17 * * * /bin/bash /path/to/script/dump_db.sh
26 17 * * * /path/to/script/dump_db.sh
Кроме того, также не работает простой скрипт bash, такой как:
#!/bin/bash
touch test_touch.txt
, а простая команда touch
через cron
это нормально.
Где я не прав?