备份数据库脚本

it2025-08-29  11

备份数据库脚本

#!/bin/sh DBPATH=/server/backup MYUSER=root MYPASS=oldboy123 MYCMD="mysql -u$MYUSER -p$MYPASS" MYDUMP="mysqldump -u$MYUSER -p$MYPASS" [ ! -d $DBPATH ] && mkdir $DBPATH for dbname in `$MYCMD -e "show databases;"|sed '1,2d'|egrep -v "mysql|schema"` do $MYDUMP $dbname|gzip >$DBPATH/${dbname}_$(date +%F).sql.gz done

原理是使用了 mysqldump 工具把数据库数据dump下来, 然后使用 gzip 工具压缩.

如果数据量特别大(体积以g计算)就不太建议使用这个工具, 因为 mysqldump 有锁表问题, 这里就不讨论了.

参考资料

第11章代码《跟老男孩学习Linux运维:Shell高级编程实战》gzip Advanced-usage mysqldump的锁表的问题
最新回复(0)