两台服务器之间备份目录或文件的shell脚本
2014-03-19 12:56
701 查看
#!/bin/bash
# get now date and set date path,datetime
_DATEPATH=$(date +%Y-%m-%d)
# set backup base path must end of "/"
_BASEPATH="/data/backup/"
# set log path
_LOGFILE=${_BASEPATH}"log.txt"
# set some path
_SITEDATA=${_BASEPATH}"siteData/"${_DATEPATH}
_SITEAPP=${_BASEPATH}"siteApp/"${_DATEPATH}
_SITEDB=${_BASEPATH}"siteDb/"${_DATEPATH}
_SITEMYSQL=${_BASEPATH}"siteMysql/"${_DATEPATH}
# set host address
_HOSTA = '192.168.10.100';
_HOSTB = '192.168.10.200';
#check base dir
if [ ! -d $_BASEPATH ];then
mkdir -p $_BASEPATH
fi
#check log file
if [ ! -f $_LOGFILE ];then
touch $_LOGFILE
fi
#create base dir
mkdir -p $_SITEDATA
mkdir -p $_SITEAPP
mkdir -p $_SITEDB
mkdir -p $_SITEMYSQL
#fun
function writeLog()
{
echo $1 >> $_LOGFILE
return 1
}
#run
function run()
{
#backup begin
writeLog "["$(date +%Y-%m-%d-%H-%M-%S)"] ------------------BACKUP Start"
#begin
writeLog "["$(date +%Y-%m-%d-%H-%M-%S)"] Copy data dir : HOST $_HOSTA to HOST $_HOSTB"
scp -r -4 -B root@$_HOSTA:/www-data $_SITEDATA >> $_LOGFILE
writeLog "["$(date +%Y-%m-%d-%H-%M-%S)"] Copy app dir : HOST $_HOSTA to HOST $_HOSTB"
scp -r -4 -B root@$_HOSTA:/www-cmsapp $_SITEAPP >> $_LOGFILE
writeLog "["$(date +%Y-%m-%d-%H-%M-%S)"] Copy db dir : HOST $_HOSTA to HOST $_HOSTB"
scp -r -4 -B root@$_HOSTA:/www-sql $_SITEDB >> $_LOGFILE
writeLog "["$(date +%Y-%m-%d-%H-%M-%S)"] Copy mysql dir : HOST $_HOSTA to HOST $_HOSTB"
scp -r -4 -B root@$_HOSTA:/usr/local/mysql/ $_SITEMYSQL >> $_LOGFILE
# end
writeLog "["$(date +%Y-%m-%d-%H-%M-%S)"] ------------------BACKUP End"
}
run();
# get now date and set date path,datetime
_DATEPATH=$(date +%Y-%m-%d)
# set backup base path must end of "/"
_BASEPATH="/data/backup/"
# set log path
_LOGFILE=${_BASEPATH}"log.txt"
# set some path
_SITEDATA=${_BASEPATH}"siteData/"${_DATEPATH}
_SITEAPP=${_BASEPATH}"siteApp/"${_DATEPATH}
_SITEDB=${_BASEPATH}"siteDb/"${_DATEPATH}
_SITEMYSQL=${_BASEPATH}"siteMysql/"${_DATEPATH}
# set host address
_HOSTA = '192.168.10.100';
_HOSTB = '192.168.10.200';
#check base dir
if [ ! -d $_BASEPATH ];then
mkdir -p $_BASEPATH
fi
#check log file
if [ ! -f $_LOGFILE ];then
touch $_LOGFILE
fi
#create base dir
mkdir -p $_SITEDATA
mkdir -p $_SITEAPP
mkdir -p $_SITEDB
mkdir -p $_SITEMYSQL
#fun
function writeLog()
{
echo $1 >> $_LOGFILE
return 1
}
#run
function run()
{
#backup begin
writeLog "["$(date +%Y-%m-%d-%H-%M-%S)"] ------------------BACKUP Start"
#begin
writeLog "["$(date +%Y-%m-%d-%H-%M-%S)"] Copy data dir : HOST $_HOSTA to HOST $_HOSTB"
scp -r -4 -B root@$_HOSTA:/www-data $_SITEDATA >> $_LOGFILE
writeLog "["$(date +%Y-%m-%d-%H-%M-%S)"] Copy app dir : HOST $_HOSTA to HOST $_HOSTB"
scp -r -4 -B root@$_HOSTA:/www-cmsapp $_SITEAPP >> $_LOGFILE
writeLog "["$(date +%Y-%m-%d-%H-%M-%S)"] Copy db dir : HOST $_HOSTA to HOST $_HOSTB"
scp -r -4 -B root@$_HOSTA:/www-sql $_SITEDB >> $_LOGFILE
writeLog "["$(date +%Y-%m-%d-%H-%M-%S)"] Copy mysql dir : HOST $_HOSTA to HOST $_HOSTB"
scp -r -4 -B root@$_HOSTA:/usr/local/mysql/ $_SITEMYSQL >> $_LOGFILE
# end
writeLog "["$(date +%Y-%m-%d-%H-%M-%S)"] ------------------BACKUP End"
}
run();
相关文章推荐
- shell小脚本实现上传目录中的所有文件到服务器
- shell脚本备份本地服务器的文件到远程服务器
- Shell脚本:使用rsync备份文件/目录
- Shell脚本:使用rsync备份文件/目录
- Shell脚本实现线上服务器之间对比文件是否一致
- Shell脚本实现线上服务器之间对比文件是否一致
- 备份远程服务器文件简单shell脚本
- linux 用expect脚本实现scp服务器之间的文件备份
- Git学习-->如何通过Shell脚本自动定时将Gitlab备份文件复制到远程服务器?
- 利用shell脚本,crontab,scp实现将一台服务器的目录备份到另一台服务器
- Shell脚本:使用rsync备份文件/目录
- ]利用shell脚本,crontab,scp实现将一台服务器的目录备份到另一台服务器
- Shell脚本:使用rsync备份文件/目录
- 《使用shell位置变量进行目录文件的备份小脚本》
- Shell脚本:使用rsync备份文件/目录
- 使用shell脚本进行服务器系统监控——文件系统监控(1)
- 使用RMAN和控制文件备份删除归档日志的SHELL脚本--RED HAT 5 LINUX 64
- 利用shell脚本监控目录内文件改动
- Linux 下用shell脚本对SVN 修改的文件进行备份
- shell脚本示例,复制名为dir1和dir2的目录下所有的文件到名为dir3的新目录