1.创建备份脚本
vi /mysql/bak/dbbackup.sh 目录自定义
在脚本中编辑
mysqldump -uusername -ppassword --default-character-set=utf8 dbname | gzip > /mysql/bak/bak`date +%Y-%m-%d_%H%M%S`.sql.gz
# 将其中的 username password dbname 分别替换为 mysql 的用户名, 密码 和要备份的数据库名, 此命令会将生成的sql文件打成gz包, 不需要的话将 | gzip去掉即可
#如果需要备份某个数据库的某张表, 直接在数据库名称后面跟上表名即可
mysqldump -uusername -ppassword --default-character-set=utf8 dbname tablename1 tablename2 | gzip > /mysql/bak/bak`date +%Y-%m-%d_%H%M%S`.sql.gz
# 如果需要备份多个数据库 可直接将 dbname 替换为多个即可, 中间用空格分隔, 前面加上 --databases
mysqldump -uusername -ppassword --default-character-set=utf8 -- databases dbname1 dbname2 | gzip > /mysql/bak/bak`date +%Y-%m-%d_%H%M%S`.sql.gz
#如果需要备份整个数据库, 将 dbname 替换为 --all-databases 即可
mysqldump -uusername -ppassword --default-character-set=utf8 --all-databases | gzip > /mysql/bak/bak`date +%Y-%m-%d_%H%M%S`.sql.gz
#生成的文件名是 bak+时间
#删除当前时间10天以前的备份
cd /mysql/bak
rm -rf `find . -name '*.sql.gz' -mtime 10`