|
两台服务器间进行文件同步可以架设 rsync 同步服务器,但也可以使用 lftp 工具进行增量备份,这样更具灵活性。因为此时你的备份服务器不但可以是 VPS,也可以是虚拟主机(现在网上也有免费的虚拟主机,比如在 godaddy 那里注册域名时往往会赠送免费空间),因为两者都可以通过 FTP 连接。
lftp 的选项有很多,这里只介绍适合增量备份的几个选项。
1. 匿名登录 FTP
2. 使用用户名和密码登录 FTP :lftp -u username,password ftp地址
3.lftp 的 mirror -R命令:
mirror -R 命令正是增量备份的关键,-R 是递归之意,这就是用来备份目录的。
4. 一个完整的增量备份命令:lftp -u username,password -e "mirror -R --delete --only-newer --verbose 本地目录 远程目录" ftp地址 上面选项 -e 告诉 lftp 执行连接服务器后接着运行指定命令。换句话就是书哦,-e 后面可以接一组命令,比如上面的就表示在连接上 FTP 后接着执行 mirror -R命令进行增量备份。
–delete选项 表示 mirror 命令会删除远程备份服务器中存在的文件而本地服务器不存在的文件。
–only-newer 选项时让 lftp 只上传新的文件。
另一个选项是–exclude,它允许你指定不需要同步的文件夹。
如果你想监视同步的进程,可以使用–verbose选项,比如可以观察到下面的过程:[beyes@beyes pw87]$ lftp -u beyes,xxxxxxxxx -e "mirror -R --delete --only-newer --verbose api api" 27.123.35.37
Transferring file `class_Cache.php'
Transferring file `class_Credit.php'
Transferring file `class_Feed.php'
Transferring file `class_Forum.php'
Transferring file `class_Friend.php'
Transferring file `class_Invite.php'
Transferring file `class_Msg.php'
Transferring file `class_Other.php'
Transferring file `class_Site.php'
Transferring file `class_Statistics.php'
Transferring file `class_Thread.php'
Transferring file `class_User.php'
Transferring file `class_UserApp.php'
Transferring file `class_Weibo.php'
Transferring file `class_auth.php'
Transferring file `class_base.php'
Transferring file `class_json.php'
Total: 2 directories, 25 files, 0 symlinks
New: 17 files, 0 symlinks
103982 bytes transferred in 42 seconds (2.4K/s)
这样增量备份就完成了。
比如利用 lftp 我们可以增量备份网站的附件,可以使用 crontab -e 来让上面的命令定期执行备份,这样有两台服务器作为保证,数据会更安全。 |
|