Chinaunix首页 | 论坛 | 博客
  • 博客访问: 83313
  • 博文数量: 56
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 730
  • 用 户 组: 普通用户
  • 注册时间: 2013-08-06 14:50
文章分类
文章存档

2013年(56)

我的朋友

分类: LINUX

2013-08-27 15:13:25

 如何做到自动备份网站和数据库,到另外上,为当前用户创建定时任务呢?

  两台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

~

  结束。
详见:

   

阅读(505) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~