欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Linux下简单的MySQL/Web备份小实例

程序员文章站 2022-06-01 20:13:35
...

这个是菜鸟级的运维的MySQL的备份小脚本,在这里写出来一是为了做笔记,二是认识一下两个小工具mysqldump/pdumpfs

这个是菜鸟级的运维的MySQL的备份小脚本,在这里写出来一是为了做笔记,二是认识一下两个小工具mysqldump/pdumpfs

第一部分是mysql数据的备份

[root@localhost ~]# mkdir -p /usr2/backup/mysql

[root@localhost ~]# vi mysqldump.sh
#!/bin/bash
#author XXX time 2011-10-17
#the backup of localhost mysql data
X=`date +%Y%m%d`
M=/usr/local/mysql/bin
B=/usr2/backup/mysql

$M/mysqldump -uroot --all-databases > $B/$X.sql //本机的mysql为设置登录密码,如果设置密码需要改写这句话($M/mysqldump -uroot -ppassword --all-databases > $B/$X.sql)
tar zcvf $B/$X.tar.gz $B/$X.sql
rm -rf $B/$X.sql
[root@localhost ~]# chmod a+x mysqldump.sh
[root@localhost ~]# ./mysqldump.sh
tar: Removing leading `/' from member names
/usr2/backup/mysql/20111015.sql

以上这个脚本可以加入cron的计划任务中,在定时的时刻执行备份的动作!

[root@localhost ~]# echo " * * * * * root path/XX.sh & >/dev/null" >> /etc/crontab
至于灾难恢复的语句可以这么写

[root@localhost ~]# /usr/local/mysql/bin/mysqldump -uroot -ppassword 每周的备份数据量是很大的,下边的那句话可以写入cron.weekly来清除重叠的数据

[root@localhost ~]# find /usr2/backup/mysql -mtime +6 -exec rm {}\;

第二部分是web数据的备份

这里采用一个新发现的小工具pdumpfs

[root@localhost ~]# yum -y install ruby (安装需要的套件包)

[root@localhost ~]# wget
[root@localhost ~]# rpm -ivh pdumpfs-1.3-1.rh9.rf.i386.rpm

[root@localhost web]# mkdir /usr2/backup/web

[root@localhost ~]# vim web.sh
#!/bin/bash
#author XXX time 2011-10-17
pdumpfs /var/www /usr2/backup/web >/usr2/backup/web/message.log 2>/usr2/backup/web/error.log
[root@localhost ~]# chmod a+x web.sh
同时可以把这个小脚本放入cron的计划任务中定期的执行

[root@localhost ~]# echo " * * * * * root path/XX.sh & >/dev/null" >> /etc/crontab
[root@localhost ~]# ls /usr2/backup/web/ (哲就是备份的数据部分)
2011 error.log latest message.log
第三部分是ssh的异地的无密码复制的设置

两台linux主机,一台ip:(也就是服务器本机)另一台是(作为远程备份主机)

首先在远程备份主机上的操作

[root@localhost ~]# ssh-keygen (生成公匙)

[root@localhost ~]# ssh-copy-id -i /root/.ssh/id_rsa (给服务器送去,这步要输入192的密码)

[root@localhost ~]# scp :/usr2/backup/mysql/20111015.tar.gz .(这里显示的是可以不使用密码可以直接的从服务器上拷贝东西了,,也就是复制的过程。把这里换成脚本就能实现很多的操作)

总结:备份的主要方式有,完整备份,增量备份,差分备份、还有本地和异地备份之分!这里只是一个文件备份的小实例,期待进一步的学习!

Linux下简单的MySQL/Web备份小实例