Я пишу одну строку команды, которая создает резервные копии всех баз данных в их соответствующие имена, вместо этого использует сброс всех в один sql.
Например: db1 сохраняется в db1.sql и db2 сохраняется в db2.sql
До сих пор я собрал следующие команды для извлечения всех баз данных.
mysql -uuname -ppwd -e 'show databases' | grep -v 'Database'
Я собираюсь связать его с awk, чтобы сделать что-то вроде
awk '{mysqldump -uuname -ppwd $1 > $1.sql}'
Но это не работает.
Я новичок в bash, поэтому я мог ошибаться в своих мыслях.
Что делать, чтобы экспортировать db в соответствующие имена?
обновление:
Хорошо, нужно наконец-то заставить его работать с подсказками ниже.
Это окончательный script
# replace [] with your own config
# replace own dir to save
# echo doesn't work. hmm...
mysql -u[uname] -p'[pwd]' -e "show databases" \
| grep -Ev 'Database|information_schema' \
| while read dbname; \
do \
echo 'Dumping $dbname' \
mysqldump -u[uanme] -p'[pwd]' $dbname > ~/db_backup/$dbname.sql;\
done
Эховая часть не работает.