Debian 下用 rsync 实现网站数据备份

来源:互联网 发布:热力型数据地图模板 编辑:程序博客网 时间:2024/05/17 22:59
  在debian下实现网站的数据备份,需要用到3个软件,ssh、rsync、cron,服务器的ip是61.*.161.197,备份机的ip是61.*.161.194,也就是备份机(简称194)对服务器(简称197) 进行备份,下面一步步地进行配置。

一、首先进行针对ssh的准备工作

1、在197上面的设置:

  编辑ssh的配置文件,保证root 用户可以通过ssh 远程登陆。注:ssh默认root 可以远程登录。nano /etc/ssh/sshd_config(粗黑体为键盘输入的命令,下略),保证PermitRootLogin 的参数为yes

  PermitRootLogin yes

2、在194上面的操作:

  用root帐号,使用ssh-keygen–d的命令,创建一对无密码的公匙和密匙,密匙(id_dsa)留到194上面,公匙(id_dsa.pub)拷贝到197上面。以后ssh通过它们的相互认证来进行备份机和服务器之间的连接。ssh-keygen程序将创建一个名为 .ssh 的隐藏目录,公匙和密匙就在这个目录里面。

  www:~/# ssh-keygen -d
  Generating public/private dsa key pair.
  Enter file in which to save the key (/root/.ssh/id_dsa): (直接回车)
  Enter passphrase (empty for no passphrase): (直接回车)
  Enter same passphrase again: (直接回车)
  Your identification has been saved in /root/.ssh/id_dsa.   (密匙)
  Your public key has been saved in /root/.ssh/id_dsa.pub. (公匙)
  The key fingerprint is:
  04:09:28:be:6b:00:71:00:17:c0:49:98:c2:0b:09:ac heishuiguai@qq.com

  将公匙拷贝到197上面,并将名字改成authorized_keys2。删除194上的公匙id_dsa.pub。然后#ssh 61.*.161.197,测试一下是不是可以不用密码ssh 197了。

  scp /root/.ssh/id_dsa.pub 61.*.161.197:/root/.ssh/authorized_keys2

3、197上面的设置:

  nano /etc/ssh/sshd_config,使PermitRootLogin 的参数为without-password,这样设置使“root”用户不能从没有密匙的计算机上登陆。然后/etc/init.d/ssh restart,重起ssh。

  PermitRootLogin without-password

二、rsync 的配置:

  首先安装rsync,命令为:apt-get install rsync

  然后写出rsync 语句进行测试,也可以把下面的语句放到cron里面,自动执行,下列语句的含义是把服务器 197 机器上的 /var/www/ 目录,备份到194 上相同的目录中。

  rsync -vzrtopg --delete -e ssh 61.*.161.197:/var/www/ /var/www/

  rsync 的参数意义如下:

  -v :详细模式输出。
  -z :对备份的文件在传输时进行压缩处理。
  -r :对子目录异地归模式处理。
  -t :保持文件的时间信息。
  -o :保持文件的属主信息。
  -p :保持文件的权限。
  -g :保持文件的属组信息。
  --delete :删除那些DST中SRC没有的文件,保持备份机和服务器的备份文件真正同步。
  -e ssh :表示rsync通过ssh进行。

三、cron的配置

  nano /etc/crontab ,编辑 /etc/crontab文件,在该文件中加入下列代码。cron服务每分钟不仅要读一次 /var/spool/cron内的所有文件,还需要读一次/etc/crontab,因此我们配置这个文件也能运用cron服务做一些事情。用crontab配置是针对某个用户的,而编辑/etc/crontab是针对系统的任务。

  10 3 * * * root rsync -vzrtopg --delete -e ssh 61.*.161.197:/var/www/ /var/www/

  注:* 号代表五个数字,数字的取值范围和含义如下:

  分钟(0-59) 小時(0-23) 日期(1-31) 月份(1-12) 星期(0-6,0代表星期天)
原创粉丝点击