【发布时间】:2010-06-11 03:22:42
【问题描述】:
tmp 文件包含:
database_1 数据库_2 数据库_3
我想为上述文件中的每一行运行类似“mysqldump DATABASE > database.sql && gzip database.sql”的命令。
我已经知道了 cat /tmp/database-list | xargs -L 1 mysqldump -u root -p
我想我想知道如何将传递给 xargs 的数据多次放入(而不仅仅是最后)
编辑:以下命令会将每个数据库转储到其自己的 .sql 文件中,然后 gzip 压缩它们。
mysql -u root -pPASSWORD -B -e 'show databases' | sed -e '$!N; s/Database\n//' | xargs -L1 -I db mysqldump -u root -pPASSWORD -r db.backup.sql db; gzip *.sql
【问题讨论】:
-
你为什么不把命令分成两行(保留你拥有的那一行,像'gzip *.sql'这样的第二个命令)?