知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

linux自动备份网站和数据库

发布时间:2014-09-05 14:04:05作者:知识屋

linux自动备份网站和数据库

 两台服务器111,和117服务器,每天完成111服务器上网站和数据库自动备份到117服务器上
1:我的111服务器上是当前用户:sx
A:  查看当前用户的计划任务:crontab -l是查看当前用户的任务 用 vi  crontab -e 是为sxw用户创建一个计划任务
 第一行:每天3点运行/home/sxw/rsync201.sh shell脚本,
 第二行:和第三行是每天下午7点运行tar包,gaokaotong和phpcms文件
 第三行:每天7点22分运行/homesxw/back_up.sh shell脚本,
注意:这里是当前用户sxw,所以要shell脚本路径要有用户sxw权限,在这里/home/sxw/back_up shell脚本,是当前用户sxw用户的家目录。
B:   111服务器上/home/sxw/back_up.sh脚本
code:
-bash-3.2$ vim /home/sxw/back_up.sh
#!/bin/sh
echo "开始备份数据库"
mysqldump -u jeecms -pjeecms1234 gktcms > gktcms.sql
mysqldump -u jeecms -pjeecms1234 phpcms > phpcms.sql
echo "备份数据库完成,复制到117服务器端"
scp -P 10022 gktcms.sql zk@114.113.145.117:/home/zk
scp -P 10022 phpcms.sql zk@114.113.145.117:/home/zk
scp -r -P 10022 /opt/www/www2/phpcms.tar.gz zk@114.113.145.117:/home/zk/
scp -r -P 10022 /opt/www/www2/gaokaotong.tar.gz zk@114.113.145.117:/home/zk/
echo "发送完成"


C:  还要在111上做ssh信任,这个可参照ssh资料。很简单,只需要建立两个密钥。
2: 117服务器上/homezk/自动就会多出两个tar包文件,phpcms.tar.gz 和gaokaotong.tar.gz
 
 这里每天自动保存两个文件,phpcms.tar.gz 和 gaokaotong.tar.gz文件
  这里做了一个shell脚本,保存前两天的文件,跟上述111服务器上的建立计划任务一样:
 A:  查看117的计划任务: crontabl -l


B: 在查看/home/zk/back.sh 的shell编写
code:
[zk@DB2 ~]$ vi /home/zk/back.sh 


#!/bin/sh
TARFILE="/home/zk/phpcms.tar.gz"
if [ -f $TARFILE ];then
  mv /home/zk/phpcms.tar.gz /home/zk/phpcms_$(date +%Y%m%d).tar.gz
  #remove date file
  DATE_B=$(date -d"2 day ago" +%Y%m%d)
  FILENAME="/home/zk/phpcms_"$DATE_B".tar.gz"
  if [ -f $FILENAME ];then
  rm -rf /home/zk/phpcms_$DATE_B.tar.gz
  else
  echo "没有可删除文件"
  fi
else
  echo "没有源文件"
fi
~   
 
结束。

(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜