ubuntu定时备份网站及数据库到备份服务器

来源:互联网 发布:淘宝中差评扣分 编辑:程序博客网 时间:2024/05/21 17:20

因为试过服务器硬盘突然坏了的情况,导致部分数据丢失,所以现在把A服务器数据备份到B服务器。操作如下

1、用脚本命令先备份数据到本地,主要是数据库和WWW目录的网站数据

#!/bin/bash# 常规定义MYSQL_USER="数据库用户名"MYSQL_PASS="数据库密码"baidupan_DIR="/backup/$(date +%Y-%m-%d)"BACK_DIR="backup"# 备份网站数据目录BACKUP_DEFAULT="/var/web"# 定义备份文件名mysql_DATA=mysql_$(date +"%Y%m%d").tar.gzwww_DEFAULT=www_$(date +%Y%m%d).tar.gz# 判断本地备份目录,不存在则创建if [ ! -d $BACK_DIR ] ;  then   mkdir -p "$BACK_DIR"fi # 进入备份目录cd $BACK_DIR # 备份所有数据库# 导出需要备份的数据库,清除不需要备份的库mysql -u$MYSQL_USER -p$MYSQL_PASS -B -N -e 'SHOW DATABASES' > databases.dbsed -i '/performance_schema/d' databases.dbsed -i '/information_schema/d' databases.dbsed -i '/mysql/d' databases.dbsed -i '/phpmyadmin/d' databases.db for db in $(cat databases.db) do   mysqldump -u$MYSQL_USER -p$MYSQL_PASS ${db} | gzip -9 - > ${db}.sql.gzdone # 打包数据库tar -zcvf $mysql_DATA *.sql.gz # 打包本地网站数据,这里用--exclude排除svn文件及无用的目录tar -zcvf $www_DEFAULT $BACKUP_DEFAULT --exclude=.svn* --exclude=Runtimeexit 0
以上脚本完成数据库和网站数据的备份

2、用SCP命令把A服务器的备份文件COPY到B服务器,这里可以做成脚本定时COPY

scp 本地文件   XXX@IP:目录

注意:因为scp命令要输入密码,所以要做以下的操作

<p>#在主机A上执行如下命令来生成配对密钥:</p>ssh-keygen -t rsa<p>#将 .ssh 目录中的 id_rsa.pub 文件复制到 主机B 的 ~/.ssh/ 目录中,并改名为 authorized_keys</p><p>scp ~/.ssh/id_rsa.pub IP:/用户目录/.ssh/authorized_keys</p>这样A服务器到B服务器就不用输入密码了,注意,一定要A服务器和B服务器有相同的用户如果没有,请用adduser命令创建 





0 0
原创粉丝点击