备份mysql数据库或表
命令 mysqldump
常用参数详解
1 2 3 4 5 6 7 -u 用户名 -p 密码 -h 服务器IP地址 -d 等价于--no-datab 只导出表结构 -t 等价于--no-create- info只 导出数据,不导出建表语句 -A 等价于--all-databases -B 等价于--databases导 出一个或多个数据库
ftp命令 1 2 3 常用命令 open 与ftp服务器建立连接 如open 192.168.37.101 user 登录用户和密码 如 user ftp123 abc
参考资料
操作 1 2 3 4 5 6 Usage: mysqldump [OPTIONS] database [tables] OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...] OR mysqldump [OPTIONS] --all-databases [OPTIONS] For more options, use mysqldump --help mysqldump -udbuser -p1RootRoot@ school > school.sql
示例
需求:将schoo1中 的score表备份,并且将备份数据通过FTP传输到192.168.37.101的/data/backup目录下
1 2 3 4 ftp -i 表示进入交互界面 -n 自动登录 -v 打印信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 #!/bin/bash db_user="dbuser" db_passwd="1RootRoot@" db_host="192.168.37.101" ftp_user="ftpUser" ftp_passwd="!1qaz@2wsx" ftp_host="192.168.37.101" src_dir="/opt/datasets/test" dest_dir="/home/ftpUser/backup" time_date="`date +%Y%m%d%H%M%S`" file_name="school_$time_date " function auto_ftp{ ftp -inv <<EOF open 192.168.37.101 user ftpUser !1qaz@2wsx cd $src_dir put $1 $dest_dir /$file_name bye EOF } mysqldump -u$db_user -p$db_passwd -h$db_host school > $src_dir /$file_name && auto_ftp $src_dir /$file_name
总结