介绍
基本信息
作者:朱明宇
名称:将本地 LNMP 的网站文件和网站数据备份并传送到远程服务器
作用:将本地 LNMP 的网站文件和网站数据备份并传送到远程服务器
使用方法
使用方法
1. 在此脚本的分割线内写入相应的内容
2. 给此脚本添加执行权限
3. 执行此脚本
脚本分割线里的变量
1. filename=eternalcenter-backup #备份文件的中间名
2. lpath=”/usr/share/nginx/html” #本地存放网站文件的目录
3. tcache=”/tcache” #本地临时存放网站文件备份和网站数据备份的目录
4. bip=”192.168.0.1 192.168.0.2″ #远程服务器的 IP 地址,多个 IP 地址可以用空格分开
5. buser=”mingyuzhu” #登录远程服务器的用户
6. bcache=”/bcache” #远程服务器用于存放备份的目录
注意
1. 本地需要已经搭建好 LNMP 平台
2. 用于远程服务器的用户,需要能免密钥 ssh 远程服务器,且对于本地用于备份数据的目录和远程服务器用于备份数据的目录拥有读和执行的权限
3. 脚本里的 ”mysqldump -uroot -p’eternalcenter’ lnmp > $tcache/$filename-$date.sql“ 是指本地 MariaDB 数据库用户是 root、密码是 eternalcenter、要备份的库名是 lnmp,这些都需要修改成真实环境中对应的值
4. tcache=”/tcache” 本地临时存放网站文件备份和网站数据备份的目录,每次执行此脚本时这个目录里面以前的值都会被清空
脚本
#!/bin/bash
filename=eternalcenter-backup #middle name
lpath="/usr/share/nginx/html" #website server directory
tcache="/tcache" #website cache
bip="147.182.245.159"
buser="mingyuzhu"
bcache="/bcache"
date=$(date +%Y-%m-%d-%H)
######################## backup webiste date #########################
mkdir $tcache &> /dev/null
rm -rf $tcache/* &> /dev/null
mysqldump -uroot -p'ec@zhu mingyu#123abc!@#' ec > $tcache/$filename-$date.sql
cd $lpath
sudo tar -zcvf $tcache/$filename-$date.tar.gz .[!.]* * &> /dev/null
cd
######################## backup webiste date #########################
######################## copy webiste date to remote server #########################
for i in `echo $bip`
do
ping -c4 -i0.8 -w4 $i &> /dev/null
if [ $? -eq 0 ];then
ssh $buser@$i "who -b"
if [ $? -eq 0 ];then
# ssh $buser@$i "sudo mkdir $bcache ; sudo chown $buser:$buser $bcache"
scp $tcache/* $buser@$i:$bcache/
fi
fi
done
######################## copy webiste date to remote server #########################
