备份文件是系统管理员最重要和最频繁执行的任务之一,备份可以使用许多工具和方法来执行,今天将讨论如何使用rsync。顾名思义,Rsync是一个设计用来同步目录之间文件的工具。这些目录可以是本地目录或远程目录,允许rsync在一台独立服务器和另一台独立服务器之间直接复制文件。由于它的设计是同步文件,它所做的不只是简单地将目录的内容复制到另一个目录。它只复制源目录和目标之间的差异,包括从源目录中删除不存在的文件,从而节省时间和带宽。本文Hostease美国服务器商主要就Rsync备份方法做一个介绍,当然有兴趣的朋友也可以了解一下 备份的积极性以及怎样用Wordpress插件进行网站备份。
什么是Rsync?
Rsync是大多数Linux发行版的标准工具之一。如果它没有安装在系统上,可以使用以下命令将其安装到Debian或Ubuntu系统上:
sudo apt-get update
sudo apt-get install rsync
对于CentOS和Red Hat系统,可以使用以下命令:
sudo yum install rsync
Linux的一个优点是它的标准配置中包含了很多有用的工具,其中一个工具就是rsync。表面上,rsync是一种将文件从一个目录复制到另一个目录的工具,在其框架下,它得益于一些巧妙的设计。首先,它只复制自上次备份以来已更改的文件。安装后,rsync使用以下命令结构:
rsync <options> <source> <destination>
rsync提供了各种各样的选项,这些手册页非常值得参考,以便为它们提供一个指南。以下是一些常用的选项:
* -r 递归,同步被同步目录中的子目录的内容。
* -l 链接,复制符号链接作为符号链接,而不是将它们创建为一个目录并在其中传输文件
* -p 权限,传输文件的权限设置
* -t 保留修改时间
* -o 保留用户所有权
* -g 保留组所有权
* -a 存档,该选项适用所有设置,这可能是最常用的一个设置。
* -E 保留文件执行设置
* -z 在文件传输过程中压缩数据以节省带宽
* –delete 删除源中不存在的目标文件
* –progress 在屏幕上显示传输的进度。
* -e 允许在传输中使用外部shell,例如ssh
在进行独立服务器数据备份时,通常使用-a标志来保存用户信息和权限,而-z标志用于减少服务器之间发送数据时的带宽使用。如果是手动同步的,–progress标志很容易看到,但这对于自动传输来说毫无意义。如果保留的是原始文件的纯副本,那么应该使用–delete标志。但是,如果想要恢复意外删除的文件,那么最好在进行备份时省略这个标志。
简单的复制操作
以下是一些使用rsync进行的简单的复制操作:
rsync -a /var/www/mysite /backups/websites
第一个命令将把“/var/www/mysite”目录同步到“/backups/websites”目录中,如果“mysite”目录不存在,则在那里创建该目录。
以上命令更进一步,将“/var/www/mysite”目录同步到“/backups/websites”目录中的另一个独立服务器。值得注意的是,当连接到远程独立服务器时,用冒号(:)将独立服务器信息与路径分开。独立服务器信息是以“username@server.domain.name”的形式传递,如果没有指向独立服务器的域名,则可以用独立服务器的IP替换域名。用户名也是一个可选字段,如果与运行命令的服务器上的当前用户使用相同的用户名连接到服务器,则可以省略用户名和at符号(@)。当连接到远程服务器时,将提示输入远程用户的密码或密钥信息进行连接。关于连接服务器的内容,可以参考了解 如何使用Windows计算机连接到Linux独立服务器。
这个例子与上一个示例非常相似,但是显示了文件传输源可以是远程站点。因此,在本例中,这些文件从网络服务器上的“/var/www/mysite”目录同步到本地计算机上的“/backups/websites”目录。