1. 如何使用rsync备份整个linux系统,还原到另外一个linux
1.备份
a)可以直接通过tar对整个文件系统('/‘)进行备份,但是有几点需要注意:
i. 不能备份以下几个文件(目录)
1. 当前压缩文件
2. /proc文件夹
3. /lost+found文件夹
4. /mnt文件夹
5. /sys文件夹
6. /media文件夹
b)所以,命令为:
tar cvpzf backup.tar.gz --exclude=/proc --exclude=/lost+found --exclude=/backup.tar.gz --exclude=/mnt --exclude=/sys --exclude=/media /
1.注意:p选项代表保存当前权限
2.还原
a) Linux可以再正在远行的系统中还原系统,如果当前启动无法启动,可以通过live cd来启动并执行恢复操作
b) 操作如下
tar xcpfz backup.tar.gz -C /
c) 需要额外创建目录
i.
mkdir proc
ii.
mkdir lost+found
iii.
mkdir mnt
iv.
mkdir sys
2. 如何使用 rsync 将 Windows 上的文件备份到 Linux 服务器上
1.备份a)可以直接通过tar对整个文件系统('/‘)进行备份,但是有几点需要注意:
i.
不能备份以下几个文件(目录)
1.
当前压缩文件
2.
/proc文件夹
3.
/lost+found文件夹
4.
/mnt文件夹
5.
/sys文件夹
6.
/media文件夹
b)所以,命令为:
tar
cvpzf
backup.tar.gz
--exclude=/proc
--exclude=/lost+found
--exclude=/backup.tar.gz
--exclude=/mnt
--exclude=/sys
--exclude=/media
/
1.注意:p选项代表保存当前权限
2.还原
a)
Linux可以再正在远行的系统中还原系统,如果当前启动无法启动,可以通过live
cd来启动并执行恢复操作
b)
操作如下
tar
xcpfz
backup.tar.gz
-C
/
c)
需要额外创建目录
i.
mkdir
proc
ii.
mkdir
lost+found
iii.
mkdir
mnt
iv.
mkdir
sys
3. Mac OS X 下 rsync 同步不同文件系统目录是否会完整复制
会。
Rsync是一个简单易用而且功能强大的命令行备份工具。它几乎出现在所有Linux和Unix操作系统中,当然也被包含在Mac
OS
X里。
打开“实用工具”中的“终端”(Terminal)程序,输入以下命令,就可以轻松完成用户目录的备份:
rsync
-aE
--delete
--progress
~
"/Volumes/backup"
rsync是命令名;
-aE参数设置复制文件及目录,并保持访问权限、修改时间等文件的元数据(metadata);
--delete参数让目标同源保持完全一致,在源目录被删除的文件,在目标目录也会被删除。如果不包含“--delete”选项,那么即使在源目录已经删除的文件,也会仍然保存在目标目录中。
--progress参数将显示复制详细的进度。
~代表当前用户的home目录,也就是你需要备份的源目录;
/Volumes/backup/是备份的目标目录。
rsync
-uav
--delete
--progress
~/Music/My\
Downloads/
/Volumes/PHONE\
CARD/music/
请加上-u
参数,就会只同步更新的内容了
u,
--update
skip
files
that
are
newer
on
the
receiver
-u只进行更新,防止本地新文件被重写,注意两者机器的时钟的同时
4. linux下如何实现增量备份
服务器需求:
需要备份文件的服务器(服务器端):192.168.10.2 (RHEL 5)
接收备份文件的服务器(客户端):192.168.10.3 (RHEL 5)
实现功能:
通过rsync工具对turbomail邮件服务器的accounts目录和conf目录进行增量备份。
accounts目录:用于存储用户相关信息的目录
conf目录:用户配置文件存放目录
前提条件:
先将turbomail邮件系统安装好(服务器端与客户端操作一样)
安装过程如下:
1、挂载光驱:mount /dev/cdrom
2、将turbomail的安装包拷贝到跟目录下/
#cd /dev/cdrom
#cp turbomail_linux_x86_xxx.tgz
3、解压turbomail安装包
tar –zxvf turbomail_linux_x86_xxx.tgz
4、启动turbomail
#cd /turbomail
#./starttm.sh
#cd /turbomail/web/bin/
#./startup.sh 5、修改启动脚本/etc/rc.d/rc.local
使邮件服务器开机自动启动加入以下几行:#/turbomail/starttm.sh &
#/turbomail/web/bin/startup.sh & #/turbomail/safestart.sh &
rsync的配置如下:
1.服务器端rsync的配置:使用系统自带的rsync工具,插入系统启动光盘,通过rpm安装rsync工具。
若采用采用源码包安装,上传安装包到服务器1)tar –zxvf rsyncrsync-2.6.9.tar.gz #解压2)cd rsyncrsync-2.6.9 3)./configure #默认配置,生成编译环境
4)make #编译
5)make install #安装完成,任何步骤有疑问输入echo $?查返回值,0表示成功,其他都为失败rsync 版本
2.4.6(可以从http://rsync.samba.org/rsync/获得最新版本)
1)编辑/etc/rsyncd.conf文件,rsync的主要配置文件:
#[globale]
strict modes= yes
#check passwd file
port= 873 #rsync工具默认使用的端口
#default port
logfile= /var/log/rsyncd.log #日志文件存放路径pidfile= /var/run/rsyncd.pid #记录rsync运行时的进程ID
max connections= 4 #同上最大的链接数
#[moles] #同步模块的配置
[rsync]
uid= root #该选项指定当该模块传输文件时守护进程应该具有的uid
gid= root #该选项指定当该模块传输文件时守护进程应该具有的gid
ignore errors #忽略一些无关的错误信息
#要备份的目录
path= /turbomail/accounts #需要同步的目录
read only= no #是否设置以只读的方式运行
host allow= 192.168.10.3 #同步数据的客户端ip如有多个客户端,以“,”隔开即可
auth users= zhouhw #同步用的用户名
secrets file= /etc/rsyncd.scrt #同步的密码认证文件
[test]
uid= root #该选项指定当该模块传输文件时守护进程应该具有的uid
gid= root #该选项指定当该模块传输文件时守护进程应该具有的gid
ignore errors #忽略一些无关的错误信息
#要备份的目录
path= /turbomail/conf #需要同步的目录
read only= no #是否设置以只读的方式运行
host allow= 192.168.10.3 #同步数据的客户端ip如有多个客户端,以“,”隔开即可
auth users= zhouhw #同步用的用户名
secrets file= /etc/rsyncd.scrt #同步的密码认证文件2)编辑/etc/rsyncd.scrt文件,密码认证文件
zhouhw:123456
该更权限为600:chmod 600 /etc/rsyncd.scrt 3) 运行rsync --daemon,并在/etc/rc.d/rc.local加入此语句,开机自动启动。
备注:rsync默认端口873,若安装了iptables,如需改动启动时启动rsync –port 873,请在iptables 中开放该端口,语句如下:
iptables -I INPUT -p tcp --dport 873 -j ACCEPT
4)编辑/etc/xinetd.d/rsync
rsync服务的监听由xinet来统一分配:
service rsync
{
disable = no #将此项改为no
socket_typ
e = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
重启xinetd以启动rsync服务
service xinetd restart
5)查看rsync事故正常运行
输入命令:netstat -ant|grep :873若有显示以下一条语句,则说明rsync服务已经正常启动了。
tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 2.客户端的配置:使用系统自带的rsync工具,插入系统启动光盘,通过rpm安装rsync工具。
1)编辑/etc/rsyncd.scrt文件,密码认证文件
zhouhw:123456
该更权限为600:chmod 600 /etc/rsyncd.scrt 2)编辑脚本vi /root/scrpit/rsync.sh并加入开机自动启动。
#!/bin/sh /usr/bin/rsync -vazu --progress --delete
[email protected]::rsync /turbomail --password-file=/etc/rsyncd.scrt
[email protected]::test /turbomail
--password-file=/etc/rsyncd.scrt修改权限:chmod u+x
/root/scrpit/rsync.sh执行./rsync.sh 同步数据。
3)编辑/etc/crontab文件,定义为每小时30分钟执行一次数据同步。
vi /etc/crontab
# run-parts
01 * * * * root run-parts /etc/cron.hourly 02 4 * * * root
run-parts /etc/cron.daily 22 4 * * 0 root run-parts /etc/cron.weekly 42 4
1 * * root run-parts /etc/cron.monthly 30 * * * * root
/root/scrpit/rsync.sh客户端的配置到此就可以了,服务器与客户端的数据也会在每小时的第30分钟执行一次。
客户端同步命令详解:
v, --verbose 详细模式输出-q, --quiet 精简输出模式-c, --checksum
打开校验开关,强制对文件传输进行校验-a, --archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD
-r, --recursive 对子目录以递归模式处理-R, --relative 使用相对路径信息-b, --backup
创建备份,也就是对于目的已经存在有同样的文件名时,将老的文件重新命名为~filename。可以使用--suffix选项来指定不同的备份文件前缀。
--backup-dir 将备份文件(如~filename)存放在在目录下。
-suffix=SUFFIX定义备份文件前缀
-u, --update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件。(不覆盖更新的文件) -l, --links 保留软链结-L, ---links 想对待常规文件一样处理软链结
---unsafe-links仅仅拷贝指向SRC路径目录树以外的链结
--safe-links忽略指向SRC路径目录树以外的链结
-H, --hard-links 保留硬链结-p, --perms 保持文件权限-o, --owner 保持文件属主信息-g,
--group 保持文件属组信息-D, --devices 保持设备文件信息-t, --times 保持文件时间信息-S, --sparse
对稀疏文件进行特殊处理以节省DST的空间-n, --dry-run现实哪些文件将被传输-W, --whole-file
拷贝文件,不进行增量检测-x, --one-file-system 不要跨越文件系统边界-B, --block-size=SIZE
检验算法使用的块尺寸,默认是700字节-e, --rsh=COMMAND 指定替代rsh的shell程序
--rsync-path=PATH指定远程服务器上的rsync命令所在路径信息
-C, --cvs-exclude 使用和CVS一样的方法自动忽略文件,用来排除那些不希望传输的文件--existing 仅仅更新那些已经存在于DST的文件,而不备份那些新创建的文件
--delete删除那些DST中SRC没有的文件
--delete-excluded同样删除接收端那些被该选项指定排除的文件
--delete-after传输结束以后再删除
--ignore-errors及时出现IO错误也进行删除
--max-delete=NUM最多删除NUM个文件
--partial 保留那些因故没有完全传输的文件,以是加快随后的再次传输--force 强制删除目录,即使不为空
--numeric-ids不将数字的用户和组ID匹配为用户名和组名
--timeout=TIME IP超时时间,单位为秒-I, --ignore-times
不跳过那些有同样的时间和长度的文件--size-only
当决定是否要备份文件时,仅仅察看文件大小而不考虑文件时间--modify-window=NUM 决定文件是否时间相同时使用的时间戳窗口,默认为0
-T --temp-dir=DIR在DIR中创建临时文件
--compare-dest=DIR同样比较DIR中的文件来决定是否需要备份
-P等同于--partial
--progress显示备份过程
-z, --compress 对备份的文件在传输时进行压缩处理
--exclude=PATTERN指定排除不需要传输的文件模式
--include=PATTERN指定不排除而需要传输的文件模式
--exclude-from=FILE排除F
ILE中指定模式的文件
--include-from=FILE不排除FILE指定模式匹配的文件
--version打印版本信息
--address绑定到特定的地址
--config=FILE 指定其他的配置文件,不使用默认的rsyncd.conf文件
--port=PORT指定其他的rsync服务端口
--blocking-io对远程shell使用阻塞IO
-stats给出某些文件的传输状态
--progress在传输时现实传输过程
--log-format=formAT指定日志文件格式
--password-file=FILE从FILE中得到密码
--bwlimit=KBPS 限制I/O带宽,KBytes per second -h, --help 显示帮助信息
5. Rsync怎么实现linux远程数据备份同步
环境检测
1
实现rsync远程拷贝的话需要安装,rsync 工具和ssh-client 包
1.检测 rsync工具包,通过rpm-qa查询一下
2
如果没有安装的话,通过yum install查找安装一下rsync包
3
安装好之后,再次确认没有问题。如图可以输入rsync命令
4
安装检测ssh
同样我们还需要安装一个ssh-client工具,和SSH不通的是rsync远程的时候需要ssh连接到对方服务器
5
再次确认2个工具包都安装好之后,注意测试一下2台服务器的连通性
END
rsync拷贝数据
1
开始远程数据拷贝,
输入下面命令格式
Rsync -avz -e ssh 本地源备份文件夹 root@远程服务器IP:远程备份文件夹存放位置
2
如图,运行拷贝数据之前的磁盘空间
3
Rsync之后的磁盘空间(注意运行命令之后不要中断连接,目前看不到进度条)
6. Linux下rsync怎么用
rsync的命令格式可以为:
1. rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST
2. rsync [OPTION]... [USER@]HOST:SRC DEST
3. rsync [OPTION]... SRC [SRC]... DEST
4. rsync [OPTION]... [USER@]HOST::SRC [DEST]
5. rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST
6. rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]
rsync有六种不同的工作模式:
1. 拷贝本地文件;当SRC和DES路径信息都不包含有单个冒号":"分隔符时就启动这种工作模式。
2.使用一个远程shell程序(如rsh、ssh)来实现将本地机器的内容拷贝到远程机器。当DST路径地址包含单个冒号":"分隔符时启动该模式。
3.使用一个远程shell程序(如rsh、ssh)来实现将远程机器的内容拷贝到本地机器。当SRC地址路径包含单个冒号":"分隔符时启动该模式。
4. 从远程rsync服务器中拷贝文件到本地机。当SRC路径信息包含"::"分隔符时启动该模式。
5. 从本地机器拷贝文件到远程rsync服务器中。当DST路径信息包含"::"分隔符时启动该模式。
6. 列远程机的文件列表。这类似于rsync传输,不过只要在命令中省略掉本地机信息即可。
-a 以archive模式操作、复制目录、符号连接 相当于-rlptgoD
rsync中的参数
-r 是递归
-l 是链接文件,意思是拷贝链接文件;-p 表示保持文件原有权限;-t 保持文件原有时间;-g 保持文件原有用户组;-o 保持文件原有属主;-D 相当于块设备文件;
-z 传输时压缩;
-P 传输进度;
-v 传输时的进度等信息,和-P有点关系,自己试试。可以看文档;
-e ssh的参数建立起加密的连接。
-u只进行更新,防止本地新文件被重写,注意两者机器的时钟的同时
--progress是指显示出详细的进度情况
--delete是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致
--password-file=/password/path/file来指定密码文件,这样就可以在脚本中使用而无需交互式地输入验证密码了,这里需要注意的是这份密码文件权限属性要设得只有属主可读。
B、一些实例
B1、列出rsync 服务器上的所提供的同步内容;
首先:我们看看rsync服务器上提供了哪些可用的数据源
# rsync --list-only [email protected]::
++++++++++++++++++++++++++++++++++++++++++++++
Welcome to use the mike.org.cn rsync services!
2002------2009
++++++++++++++++++++++++++++++++++++++++++++++
rhel4home This is RHEL 4 data
注:前面是rsync所提供的数据源,也就是我们在rsyncd.conf中所写的[rhel4home]模块。而“This is RHEL 4 data”是由[rhel4home]模块中的 comment = This is RHEL 4 data 提供的;为什么没有把rhel4opt数据源列出来呢?因为我们在[rhel4opt]中已经把list=no了。
$ rsync --list-only [email protected]::::rhel4home
++++++++++++++++++++++++++++++++++++++++++++++
Welcome to use the mike.org.cn rsync services!
2002------2009
++++++++++++++++++++++++++++++++++++++++++++++
Password:
drwxr-xr-x 4096 2009/03/15 21:33:13 .
-rw-r--r-- 1018 2009/03/02 02:33:41 ks.cfg
-rwxr-xr-x 21288 2009/03/15 21:33:13 wgetpaste
drwxrwxr-x 4096 2008/10/28 21:04:05 cvsroot
drwx------ 4096 2008/11/30 16:30:58 easylife
drwsr-sr-x 4096 2008/09/20 22:18:05 giddir
drwx------ 4096 2008/09/29 14:18:46 quser1
drwx------ 4096 2008/09/27 14:38:12 quser2
drwx------ 4096 2008/11/14 06:10:19 test
drwx------ 4096 2008/09/22 16:50:37 vbird1
drwx------ 4096 2008/09/19 15:28:45 vbird2
后面的root@ip中,root是指定密码文件中的用户名,之后的::rhel4home这是rhel4home模块名
B2、rsync客户端同步数据;
#rsync -avzP [email protected]::rhel4home rhel4home
Password: 这里要输入root的密码,是服务器端rsyncd.secrets提供的。在前面的例子中我们用的是mike,输入的密码并不回显,输好就回车。
注: 这个命令的意思就是说,用root用户登录到服务器上,把rhel4home数据,同步到本地当前目录rhel4home上。当然本地的目录是可以你自己 定义的。如果当你在客户端上当前操作的目录下没有rhel4home这个目录时,系统会自动为你创建一个;当存在rhel4home这个目录中,你要注意 它的写权限。
#rsync -avzP --delete [email protected]::rhel4home rhel4home
这回我们引入一个--delete 选项,表示客户端上的数据要与服务器端完全一致,如果 linuxsirhome目录中有服务器上不存在的文件,则删除。最终目的是让linuxsirhome目录上的数据完全与服务器上保持一致;用的时候要 小心点,最好不要把已经有重要数所据的目录,当做本地更新目录,否则会把你的数据全部删除;
设定 rsync client
设定密码文件
#rsync -avzP --delete --password-file=rsyncd.secrets [email protected]::rhel4home rhel4home
这次我们加了一个选项 --password-file=rsyncd.secrets,这是当我们以root用户登录rsync服务器同步数据时,密码将读取rsyncd.secrets这个文件。这个文件内容只是root用户的密码。我们要如下做;
# touch rsyncd.secrets
# chmod 600 rsyncd.secrets
# echo "mike"> rsyncd.secrets
# rsync -avzP --delete --password-file=rsyncd.secrets [email protected]::rhel4home rhel4home
注:这里需要注意的是这份密码文件权限属性要设得只有属主可读。
这样就不需要密码了;其实这是比较重要的,因为服务器通过crond 计划任务还是有必要的;
B3、让rsync客户端自动与服务器同步数据
服务器是重量级应用,所以数据的网络备份还是极为重要的。我们可以在生产型服务器上配置好rsync 服务器。我们可以把一台装有rysnc机器当做是备份服务器。让这台备份服务器,每天在早上4点开始同步服务器上的数据;并且每个备份都是完整备份。有时 硬盘坏掉,或者服务器数据被删除,完整备份还是相当重要的。这种备份相当于每天为服务器的数据做一个镜像,当生产型服务器发生事故时,我们可以轻松恢复数 据,能把数据损失降到最低;是不是这么回事??
step1:创建同步脚本和密码文件
#mkdir /etc/cron.daily.rsync
#cd /etc/cron.daily.rsync
#touch rhel4home.sh rhel4opt.sh
#chmod 755 /etc/cron.daily.rsync/*.sh
#mkdir /etc/rsyncd/
#touch /etc/rsyncd/rsyncrhel4root.secrets
#touch /etc/rsyncd/rsyncrhel4easylife.secrets
#chmod 600 /etc/rsyncd/rsync.*
注: 我们在 /etc/cron.daily/中创建了两个文件rhel4home.sh和rhel4opt.sh ,并且是权限是755的。创建了两个密码文件root用户用的是rsyncrhel4root.secrets ,easylife用户用的是 rsyncrhel4easylife.secrets,权限是600;
我们编辑rhel4home.sh,内容是如下的:
#!/bin/sh
#backup 192.168.145.5:/home
/usr/bin/rsync -avzP --password-file=/etc/rsyncd/rsyncrhel4root.password [email protected]::rhel4home /home/rhel4homebak/$(date +'%m-%d-%y')
我们编辑 rhel4opt.sh ,内容是:
#!/bin/sh
#backup 192.168.145.5:/opt
/usr/bin/rsync -avzP --password-file=/etc/rsyncd/rsyncrhel4easylife.secrets [email protected]::rhel4opt /home/rhel4hoptbak/$(date +'%m-%d-%y')
注:你可以把rhel4home.sh和rhel4opt.sh的内容合并到一个文件中,比如都写到rhel4bak.sh中;
接着我们修改 /etc/rsyncd/rsyncrhel4root.secrets和rsyncrhel4easylife.secrets的内容;
# echo "mike" > /etc/rsyncd/rsyncrhel4root.secrets
# echo "keer"> /etc/rsyncd/rsyncrhel4easylife.secrets
然后我们再/home目录下创建rhel4homebak 和rhel4optbak两个目录,意思是服务器端的rhel4home数据同步到备份服务器上的/home/rhel4homebak 下,rhel4opt数据同步到 /home/rhel4optbak/目录下。并按年月日归档创建目录;每天备份都存档;
#mkdir /home/rhel4homebak
#mkdir /home/rhel4optbak
step2:修改crond服务器的配置文件 加入到计划任务
#crontab -e
加入下面的内容:
# Run daily cron jobs at 4:10 every day backup rhel4 data:
10 4 * * * /usr/bin/run-parts /etc/cron.daily.rsync 1> /dev/null
注:第一行是注释,是说明内容,这样能自己记住。
第二行表示在每天早上4点10分的时候,运行 /etc/cron.daily.rsync 下的可执行脚本任务;
配置好后,要重启crond 服务器;
# killall crond 注:杀死crond 服务器的进程;
# ps aux |grep crond 注:查看一下是否被杀死;
# /usr/sbin/crond 注:启动 crond 服务器;
# ps aux |grep crond 注:查看一下是否启动了?
root 3815 0.0 0.0 1860 664 ? S 14:44 0:00 /usr/sbin/crond
root 3819 0.0 0.0 2188 808 pts/1 S+ 14:45 0:00 grep crond
7. linux中的rsync命令
rsync和ssh是两个单独命令。
rsync语法 : rsync [OPTION]... SRC [SRC]... DEST
or rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST
or rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST
or rsync [OPTION]... SRC [SRC]... rsync://[USER@]HOST[:PORT]/DEST
or rsync [OPTION]... [USER@]HOST:SRC [DEST]
or rsync [OPTION]... [USER@]HOST::SRC [DEST]
or rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]
〔options〕我只给你列出-e的参数。
-e,
--rsh=COMMAND specify the remote shell to use
--rsync-path=PROGRAM specify the rsync to run on the remote machine
--existing skip creating new files on receiver
--ignore-existing skip updating files that already exist on receiver
--remove-source-files sender removes synchronized files (non-dirs)
--del an alias for --delete-ring
--delete delete extraneous files from destination dirs
--delete-before receiver deletes before transfer, not ring
--delete-ring receiver deletes ring transfer (default)
--delete-delay find deletions ring, delete after
--delete-after receiver deletes after transfer, not ring
--delete-excluded also delete excluded files from destination dirs
--ignore-errors delete even if there are I/O errors
--force force deletion of directories even if not empty
--max-delete=NUM don't delete more than NUM files
--max-size=SIZE don't transfer any file larger than SIZE
--min-size=SIZE don't transfer any file smaller than SIZE
--partial keep partially transferred files
--partial-dir=DIR put a partially transferred file into DIR
--delay-updates put all updated files into place at transfer's end
ssh语法: ssh [-1246AaCfgKkMNnqsTtVvXxY] [-b bind_address] [-c cipher_spec]
[-D [bind_address:]port] [-e escape_char] [-F configfile]
[-i identity_file] [-L [bind_address:]port:host:hostport]
[-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port]
[-R [bind_address:]port:host:hostport] [-S ctl_path]
[-w local_tun[:remote_tun]] [user@]hostname [command]
8. 如何在Linux下使用rsync
语法:
#rsysnc [options] source path destination path
示例: 1 - 启用压缩
[root@localhost /]# rsync -zvr /home/aloft/ /backuphomedir
building file list ... done
.bash_logout
.bash_profile
.bashrc
sent 472 bytes received 86 bytes 1116.00 bytes/sec
total size is 324 speep is 0.58
上面的rsync命令使用了-z来启用压缩,-v是可视化,-r是递归。上面在本地的/home/aloft/和/backuphomedir之间同步。
示例: 2 - 保留文件和文件夹的属性
[root@localhost /]# rsync -azvr /home/aloft/ /backuphomedir
building file list ... done
./
.bash_logout
.bash_profile
.bashrc
sent 514 bytes received 92 bytes 1212.00 bytes/sec
total size is 324 speep is 0.53
上面我们使用了-a选项,它保留了所有人和所属组、时间戳、软链接、权限,并以递归模式运行。
示例: 3 - 同步本地到远程主机
root@localhost /]# rsync -avz /home/aloft/ [email protected]:192.168.1.4:/share/rsysnctest/
Password:
building file list ... done
./
.bash_logout
.bash_profile
.bashrc
sent 514 bytes received 92 bytes 1212.00 bytes/sec
total size is 324 speep is 0.53
上面的命令允许你在本地和远程机器之间同步。你可以看到,在同步文件到另一个系统时提示你输入密码。在做远程同步时,你需要指定远程系统的用户名和IP或者主机名。
示例: 4 - 远程同步到本地
[root@localhost /]# rsync -avz [email protected]:192.168.1.4:/share/rsysnctest/ /home/aloft/
Password:
building file list ... done
./
.bash_logout
.bash_profile
.bashrc
sent 514 bytes received 92 bytes 1212.00 bytes/sec
total size is 324 speep is 0.53
上面的命令同步远程文件到本地。
示例: 5 - 找出文件间的不同
[root@localhost backuphomedir]# rsync -avzi /backuphomedir /home/aloft/
building file list ... done
cd+++++++ backuphomedir/
>f+++++++ backuphomedir/.bash_logout
>f+++++++ backuphomedir/.bash_profile
>f+++++++ backuphomedir/.bashrc
>f+++++++ backuphomedir/abc
>f+++++++ backuphomedir/xyz
sent 650 bytes received 136 bytes 1572.00 bytes/sec
total size is 324 speep is 0.41
上面的命令帮助你找出源地址和目标地址之间文件或者目录的不同。
示例: 6 - 备份
rsync命令可以用来备份linux。
你可以在cron中使用rsync安排备份。
9. linux使用rsync备份目录,但是有的目录没有备份,请问是什么原因并且在输出日志中没有现在错误!
你是通过 rsync daemon 来同步的,很可能和你 rsyncd.conf 里的配置有关,比如权限相关配置导致你对所有文件都无法读取,或者是rsyncd.conf里直接就exclude掉了。 既然是本地同步 (127.0.0.1), 你可以先试试不通过daemon,直接用路径名的方法同步,比如
sudorsync-cvzrltogp/path/to/rsync/home
上面的命令如果没问题,那就可以肯定是你 rsync daemon配置的问题了。
10. Linux下rsync命令用法
1、首先要设置一台rsync服务器比如A服务器,否则2个都是客户机无法传递,还不如scp
2、B服务器的test目录权限一定要开放,最好是777
3、rsync有6种状态,可以从A到B,也可以从B到A,升值可以从A到B,C,D等等
4、rsync的语句结构是:rsync
[OPTION]...
SRC
[SRC]...
rsync://[USER@]HOST[:PORT]/DEST
你可以man或rsync
--help看一下关于option,给你个使用rsync语句2台服务器同步的实例:rsync
-vazu
--progress
--password-file=/etc/rsyncd.secrets
[email protected]::Samba
/home/Samba/
解释:-vazu
v代表详细输出
a代表归档
z代表压缩传递
u代表只更新改动的地方
--progress显示传输过程
--password表示可以选择后面的密码文件去自动匹配密码
还可以加上
--delete选项,将服务器没有的内容删除等等,选项很多,用法灵活,再配合crontab可以实现自动同步备份。