用shell实现,以并发进程的形式将mysql数据库所有的表备份到当前目录,并把所有的表压缩到一个压缩包文件里。
假设数据库名字为mydb,用户名为aming,密码为passwd。
核心要点
- 在shell中加上&可以将命令丢到后台,从而可以同时执行多条命令达到并发的效果。
- 如果表数量很大,全部都丢到后台去,服务资源恐怕支撑不了,所以需要控制并发数。
- 备份表的命令是
mysqldump -uaming -ppasswd mydb tablename > tablename.sql
思路是设置并发数和获得表总数来取得每个并发进程的表数量,再把它们记录到临时文件中,每个临时文件就是一个并发的进程
split -l 按照每个文件有多少行来切割文件
1 | $ split -l 4 a.txt #每个文件4行来切割a.txt 切割后文件名为xaa ... |
wait 等待后台命令运行完才释放终端
1 | $ sleep 10 & |
代码内容
1 |
|