简介:rsync是个真正的镜像工具,它能相应地删除本地文件万一服务器上的文件被删除, 这一点比wget好,在镜像目录的同时也能排除某些目录及文件。速度非常快
主页:rsync.samba.org
环境: Redhat Linux 6.2 , rsync 2.4.3(下载源码编译最好), 两台linux服务器192.168.11.7(test)(rsync server) , 192.168.11.2(proxy)(rsync client)
步骤:
1. 下载最新的rsync 2.4.3源文件编译,看rsync.samba.org ,据我所知, 只有2.4.3才支持镜像时的排除选项 --include and --exclude, 编译后得到一个执行文件rsync,仅需这个执行文件即可
2. 编辑配置文件/etc/rsyncd.conf 如下:
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
[test]
path = /test
comment = test folder
uid = root
ignore errors
read only = yes
list = no
auth users = sun
secrets file = /etc/test.scrt
注释: 定义了需要被镜像的目录为/test,需要密码连接,文件在/etc/test.scrt, 注意该文件的属性和权限 -rw------- 1 root root test.scrt
[root@test /etc]# more /etc/test.scrt
test:tset
3.启动服务器后台 rsync
# rsync --daemon
且加这一行到/etc/rc.d/rc.local
# echo "rsync --daemon" >> /etc/rc.d/rc.local
4. 在服务器192.168.11.2上设定客户端cron job. 每晚自动作备份或者镜像0 21 * * 1-5 /root/.test.sh
note:每晚九点周一至周五自动运行/root/.test.sh作备份
#more /root/.test.sh
#!/bin/sh
DATE=`date +%w`
rsync -tvzrp -e ssh --progress --delete [email protected]::test /shopu/test/$DATE --password -file=/etc/test > /var/log/test/test.$DATE mail -s "test Backup is done" myemailaddress < /var/log/test/test.$DATE
[root@proxy /root]# more /etc/test
tset
[root@proxy /root]# ls /etc/test -l
-rw------- 1 root root 4 May 16 21:40 /etc/test
注意: -e ssh表示用SSH加密连接,需要服务器test支持SSH
5.可用于下列用途:
a. 从另一台服务器备份主服务器上的某个整个目录,且可排除某个子目录及文件
b. 镜像主WEB服务器的主页目录,适合于像像网站,用--delete可删除服务器上没有的本地文件是真正的像像,不同于wget,wget仅根据网站的URL链接下载链接指向的每个文件,本地文件并不删除.
Rsync在服务器间镜像或者备份目录 [转]
-
- 帖子: 11
- 注册时间: 2006-03-01 16:19
用wget来备份网站(仅有ftp权限) , by Johnny
备份
wget -m -c -nH -b -o upsdn_ftp.log ftp://root%40upsdn.net:[email protected]/
Continuing in background, pid 9028.
-m, --mirror 等效于 -r -N -l inf -nr 的选项
(-r 递归
-N, --timestamping 除非远程文件较新,否则不再取回。
-l, --level=数字 最大递归深度(inf 或 0 表示无限)。
-nr, --dont-remove-listing don't remove `.listing' files(FTP选项)
)
-c, --continue 继续接收已下载了一部分的文件。
-nH, --no-host-directories 不创建含有远程主机名称的目录。
-b, -background 启动后进入后台操作。
-o, --output-file=文件 将日志消息写入到指定文件中。
============================================================
wget -m -o log -b -c -np -nH -D
备份
wget -m -c -nH -b -o upsdn_ftp.log ftp://root%40upsdn.net:[email protected]/
Continuing in background, pid 9028.
-m, --mirror 等效于 -r -N -l inf -nr 的选项
(-r 递归
-N, --timestamping 除非远程文件较新,否则不再取回。
-l, --level=数字 最大递归深度(inf 或 0 表示无限)。
-nr, --dont-remove-listing don't remove `.listing' files(FTP选项)
)
-c, --continue 继续接收已下载了一部分的文件。
-nH, --no-host-directories 不创建含有远程主机名称的目录。
-b, -background 启动后进入后台操作。
-o, --output-file=文件 将日志消息写入到指定文件中。
============================================================
wget -m -o log -b -c -np -nH -D
-
- 帖子: 11
- 注册时间: 2006-03-01 16:19
使用wget和cron自动备份网站
对于一个静态网站,在没有负载均衡的情况下。如果主机出现问题,就会影响到正常访问。而如果同时没有及时备份,会导致网站直接停止服务或只能使用以前的存档来临时提供服务。
所以,使用wget同步网站,同时使用cron来定时运行。可以作为一种简单的解决方法。
执行:
#crontab -e在其中增加
8 8,13,19 * * * cd /web/bak/;wget -m -nH -np -r -p -k http://www.sxyin.com;chown -R 33.33 /web/bak/上面的这行意思,就是在每天的8点、13点、19点的8分定时同步网站。wget的参数以前介绍过,不多说了。
上面这种方法只适应于静态网站。同时还有一点,wget对javascript中包含的图片似乎不能正确地下载,往往会忽略结果。所以第一次还是手动同步一次,并补全需要的文件把
对于一个静态网站,在没有负载均衡的情况下。如果主机出现问题,就会影响到正常访问。而如果同时没有及时备份,会导致网站直接停止服务或只能使用以前的存档来临时提供服务。
所以,使用wget同步网站,同时使用cron来定时运行。可以作为一种简单的解决方法。
执行:
#crontab -e在其中增加
8 8,13,19 * * * cd /web/bak/;wget -m -nH -np -r -p -k http://www.sxyin.com;chown -R 33.33 /web/bak/上面的这行意思,就是在每天的8点、13点、19点的8分定时同步网站。wget的参数以前介绍过,不多说了。
上面这种方法只适应于静态网站。同时还有一点,wget对javascript中包含的图片似乎不能正确地下载,往往会忽略结果。所以第一次还是手动同步一次,并补全需要的文件把
-
- 帖子: 11
- 注册时间: 2006-03-01 16:19
红泥花生 2004-7-26 10:38
crontab 文件
crontab 文件是一个文件形式保存的,还是 ..??
/bin/crontab有这个文件,但看不到ASC码表示 的字符.
对于两台主机,我想有两个一样的CRONTAB 任务列表, 我可以把/bin/crontab拷贝过去覆盖吗?还是一定要手工编辑?
llc107 2004-7-26 13:18
crontab 文件
可以考,文件在/var/spool/cron/...中,是以用户名来命名的,你进去看一眼就知道了。
红泥花生 2004-7-27 01:00
crontab 文件
是的.太好了!~~
多谢llc107大侠....
ctoc 2004-7-27 02:01
crontab 文件
哥们,在告诉你,如果你该/VAR/SPOOL/CRON/CRONTABS下的文件的话,如果要让其起作用需要重新启动机器。比较麻烦。
但是如果直接用命令增加的话,可是不用启动机器,在成功添加后,直接就其作用了。这是区别。
clay 2004-7-27 02:20
crontab 文件
crontab -e 直接编辑修改。
sunust 2004-7-27 02:32
crontab 文件
/etc/init.d/cron stop
/etc/init.d/cron start
steellyz 2004-7-27 09:30
crontab 文件
呵呵,这个贴子关于crontab文件的问题叙述够全了。
顶一下。
Ryker 2004-7-27 22:28
crontab 文件
每天进步一点
好贴子
lk12 2004-7-28 03:22
crontab 文件
如果用ctrl+d退出的话会overwrite原来的文件形成一个空文件
使用ctrl+c退出
lk12 2004-7-29 01:03
crontab 文件
多谢 melonm和紧那罗,用melonm 那种方法可以搞定,可是 紧那罗 说的那种方法不行,
:wq
ctrl + d
ctrl + c
都不能保存文件
solaris 8.0 csh
melonm 2004-7-29 01:17
crontab 文件
用ed的话,退出时(并保存)打
. <回车>;
w <回车>;
q
ywsun 2004-7-29 02:14
crontab 文件
http://bbs.chinaunix.net/forum/viewtopi ... ight=ywsun
应该对楼主有用吧!
zyh_rose 2004-7-29 15:22
crontab 文件
用crontab -e是编辑你的工作几时执行,执行什么工作,如果你执行的工作是一个脚本,比如是一个sh文件什么的,那你得把那个sh文件也拷过去才行;还有编辑完后应该先按esc,然后 打:wq回车就可以保存退出了;
crontab 文件
crontab 文件是一个文件形式保存的,还是 ..??
/bin/crontab有这个文件,但看不到ASC码表示 的字符.
对于两台主机,我想有两个一样的CRONTAB 任务列表, 我可以把/bin/crontab拷贝过去覆盖吗?还是一定要手工编辑?
llc107 2004-7-26 13:18
crontab 文件
可以考,文件在/var/spool/cron/...中,是以用户名来命名的,你进去看一眼就知道了。
红泥花生 2004-7-27 01:00
crontab 文件
是的.太好了!~~
多谢llc107大侠....
ctoc 2004-7-27 02:01
crontab 文件
哥们,在告诉你,如果你该/VAR/SPOOL/CRON/CRONTABS下的文件的话,如果要让其起作用需要重新启动机器。比较麻烦。
但是如果直接用命令增加的话,可是不用启动机器,在成功添加后,直接就其作用了。这是区别。
clay 2004-7-27 02:20
crontab 文件
crontab -e 直接编辑修改。
sunust 2004-7-27 02:32
crontab 文件
不需要重启机器,重启服务就可以了原帖由 "ctoc" 发表:
哥们,在告诉你,如果你该/VAR/SPOOL/CRON/CRONTABS下的文件的话,如果要让其起作用需要重新启动机器。比较麻烦。
但是如果直接用命令增加的话,可是不用启动机器,在成功添加后,直接就其作用了。这是区别。
/etc/init.d/cron stop
/etc/init.d/cron start
steellyz 2004-7-27 09:30
crontab 文件
呵呵,这个贴子关于crontab文件的问题叙述够全了。
顶一下。
Ryker 2004-7-27 22:28
crontab 文件
每天进步一点
好贴子
lk12 2004-7-28 03:22
crontab 文件
:wq 保存原帖由 "clay"]crontab -e 直接编辑修改。[/quote 发表:
这样编辑修改完了之后怎么保存呢???
还有这样打开的时候,原来的crontab文件内容看不到啊
比如:
# crontab -e root
40
?
30 1 * * * CMD
?
这样编辑之后怎么保存呢/?
谢谢!!
melonm 2004-7-28 03:52
crontab 文件
你把编辑器设为ed了。编辑crontab之前先运行EDITOR=vi; export EDITOR。
紧那罗 2004-7-28 17:41
crontab 文件
原帖由 "lk12" 发表:
这样编辑修改完了之后怎么保存呢???
还有这样打开的时候,原来的crontab文件内容看不到啊
比如:
# crontab -e root
40
?
30 1 * * * CMD
?
这样编辑之后怎么保存呢/?
谢谢!!
如果用ctrl+d退出的话会overwrite原来的文件形成一个空文件
使用ctrl+c退出
lk12 2004-7-29 01:03
crontab 文件
多谢 melonm和紧那罗,用melonm 那种方法可以搞定,可是 紧那罗 说的那种方法不行,
:wq
ctrl + d
ctrl + c
都不能保存文件
solaris 8.0 csh
melonm 2004-7-29 01:17
crontab 文件
用ed的话,退出时(并保存)打
. <回车>;
w <回车>;
q
ywsun 2004-7-29 02:14
crontab 文件
http://bbs.chinaunix.net/forum/viewtopi ... ight=ywsun
应该对楼主有用吧!
zyh_rose 2004-7-29 15:22
crontab 文件
用crontab -e是编辑你的工作几时执行,执行什么工作,如果你执行的工作是一个脚本,比如是一个sh文件什么的,那你得把那个sh文件也拷过去才行;还有编辑完后应该先按esc,然后 打:wq回车就可以保存退出了;