存储到当前磁盘这是最简单,却是最不推荐的;服务器有多块硬盘,最好是把备份存放到另一块硬盘上;有条件就选择更好更安全的存储介质;
# df -h
FilesystemSize Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root 50G 46G 1.6G 97% /
tmpfs 1.9G 92K 1.9G 1% /dev/shm
/dev/sda1 485M 39M 421M 9% /boot
/dev/mapper/VolGroup-lv_home 534G 3.6G 503G 1% /home123456123456
2、创建备份目录:
上面我们使用命令看出/home下空间比较充足,所以可以考虑在/home保存备份文件
首先,创建备份文件夹mkdir /mysql/mysqldata_bakeup;创建并编辑文件在路径 /usr/sbin/bakmysql,命令:vi /usr/sbin/bakmysql。此时会在/usr/sbin/路径下创建bakmysql文件,并进入bakmysql编辑状态,接着输入fn = ` date +%Y%m%d ` tar zcvf /mysql/mysqldata_bakeup/mysql$fn.tar.gz /mysql/data 然后修改文件bakmysql属性,使其可执行chmod +x /usr/sbin/bakmysql 修改/etc/crontab vi /etc/crontab 进入编辑状态,在最下面添加:01 3 * * * root /usr/sbin/bakmysql01 3 是每天凌晨3:01执行 bakmysql文件懂了吗?
PATH=$PATH:$HOME/bin #备份目录 BackupPath="/home/mysql/backup" #备份文件名 BackupFile="dbbackup"$(date +%y%m%d_%H)".sql" #数据库的用户名及密码 user="root" passwd="Welcome@123" #检查备份目录是否存在 if !(test -d $BackupPath) then mkdir $BackupPath fi #使用mysql提供的mysqldump备份脚本 /usr/local/mysql/bin/mysqldump -u$user -p$passwd --allow-keywords --default-character-set=utf8 --set-charset -R -A --master-data=2 >"$BackupPath"/"$BackupFile" #删除三个月前的备份文件 find "$BackupPath" -name "dbbackup*[log,sql]" -type f -mtime +3 -exec rm -rf {} \欢迎分享,转载请注明来源:内存溢出
评论列表(0条)