服务器维护涉及到很多内容,从服务器的硬件资源、软件资源到网络环境都需要专门维护,通过维护服务器运行,既要保证服务可用性,还要保护数据安全性,这些都离不开最基本的数据备份操作。备份工作最重要的原则之一就是备份数据应具备足够的独立性,备份数据本身应只依赖于操作系统,而非应用系统,即使是数据库数据备份,也应尽量避免以脚本形式进行数据备份,依赖于特定数据库环境的备份数据往往因为种种原因而无法直接使用。因此,重要数据备份应以人类可读和机器可读两种形式同时备份。这里以linux服务器操作系统为为例介绍三种常用的文件备份方法。
1、使用WinSCP备份数据
WinSCP是一款在windows下运行的远程数据本地备份软件,支持基于 SSH-1、SSH-2 的 SFTP 和 SCP 协议,支持处理脚本和命令行方式,支持 SSH 密码、键盘交互、公钥和 Kerberos(GSS) 验证,而且可以将会话信息保存在本地配置文件中,而不是保存在注册表中,这一点对于需要随时随机维护远程服务器的人员来说提供了方便,带一张安装有WinSCP绿色版的U盘就可以应付了。
虽然有xshell等好用的软件,但和putty比起来还是体积庞大,不够简洁方便,基本上以Putty加WinSCP就足以应付大部分远程服务器维护需求了。
2、使用FileZilla备份数据
WinSCP只有windows版,对于使用苹果电脑进行移动办公的人员来说可以选择FileZilla软件来完成远程服务器上的数据备份操作。FileZilla软件本身是一款开源免费的FTP客服端软件,支持SFTP协议和远程服务器文件查找功能,使用起来方便实用,它也提供了远程文件编辑功能,方便修改维护脚本。
与WinSCP一样,FileZilla也支持交互式登录,这点很重要,开启了二次验证登录的远程服务器来说,只有交互式登录才能正常输入验证码,否则无法正常登录远程服务器,linux下的文件管理器mc很好用,但不支持交互式登录,否则,会是最方便实用的远程服务器本地备份利器。
3、使用命令行备份数据
命令行的高效是图形界面工具永远也无法比拟的,因为图形界面工具的背后仍然是脚本程序,图形界面各式各样,永远在升级和变化,但命令行可以数十年如一日的保持不变,综合起来,命令行的学习成本要远远小于图形界面工具。一句命令就可以将远程服务器上的文件数据备份到本地。
rsync -azv -e 'ssh -p 端口' --exclude=exclude.txt 远程服务器用户名@远程服务器IP:远程服务器文件夹
这条命令可以将远程服务器中指定的文件、文件夹备份到本地,并且可以利用--exclude参数将不需要备份的文件、文件夹排除,--exclude可以出现多次,以方便用户排除不同的文件和文件夹。cwRsync软件是rsync命令的windows移植版,rsync命令在linux下和windows下都可以使用。