(转)
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的错误。出现这个的原因是因为包含两个以上的@,只需要把前面的@换成@即可。