linux利用wget命令备份网站(镜像拷贝)

linux利用wget命令备份网站(镜像拷贝)

上篇文章写到使用curl下载上传ftp,陋室博客最近想把之前的实验页面做一个镜像站点,不过由于curl不支持递归下载,所以当要备份一个ftp服务器上的文件时,略显不足。

还好linux为我们提供了更加强大的命令wget,下面来看一下wget如何备份一个网站下所有文件:

首先下载ftp服务器上的所有文件用递归参数-r:

wget  ftp://name:passwd@ftp.malu.me -r

不过以上方式下载下来的文件会出现网站站名的目录,把该目录去掉,加上参数-nH –cut-dirs=number(number为需要削减的目录层数):

wget  ftp://name:passwd@ftp.malu.me –r –nH --cut-dirs=1

当我们需要更新下载时,可以把原来有的文件不去下载,wget也提供了更新方式下载,加参数-N:

wget ftp://name:passwd@ftp.malu.me –r –nH –cut-dirs=1 –N

文件下载都是在当前目录,想要下载到指定目录怎么办,后面加个参数-P:

wget ftp://name:passwd@ftp.malu.me –r –nH –cut-dirs=1 –N –P /home/dotcloud/current

每次下载有一大堆返回参数,如何把他们去掉,后面加个参数-q就解决啦:

wget ftp://name:passwd@ftp.malu.me –r –nH –cut-dirs=1 –N –P /home/dotcloud/current –q

网站上文件很多,一次执行需要很长时间,让它在后台执行吧,加上参数-b:

wget ftp://name:passwd@ftp.malu.me –r –nH –cut-dirs=1 –N –P /home/dotcloud/current –q –b

通过以上案例体会到wget的强大了吧,单条命令就能把一个网站的copy工作完成,再加上Crontab计划任务,让其在深夜执行,一个完美的网站备份(镜像)工作完成了。

*解决wget bad port number的办法
有些ftp的用户名和密码带有@号,会导致wget出现bad port number的错误。出现这个的原因是因为包含两个以上的@,只需要把前面的@换成%40即可。


转自:http://bolg.sinaapp.com/html/2011/1244.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值