您好,欢迎访问三七文档
当前位置:首页 > 财经/贸易 > 资产评估/会计 > Linux运维之sftp自动备份(项目经验全)
sftp自动备份备份方式双重备份。即网站服务器本机备份和本地专用存储服务器备份。传输方式数据文件以sftp方式进行传输优点:更安全。加密传输认证信息和传输的数据缺点:效率低。使用了加密/解密技术,传输效率比普通的FTP要低得多。基本安装与配置以192.168.30.129模拟网站服务器,192.168.30.128模拟本地专用备份数据服务器。(1)两台服务器使用yum安装vsftpd、ftp并开启vsftpd服务/添加iptables协议,开方21端口(2)对vsftpd.conf文件进行配置,如下:[root@CentOS2vsftpd]#vi/etc/vsftpd/vsftpd.conflocal_enable=YESwrite_enable=YESanon_upload_enable=YESanon_mkdir_write_enable=YES自动备份思路前面讲过备份方式为双重备份,整个备份过程全由计算机自动处理完成,无须人为干预,大大提高效率。每周五对数据进行备份,思维图如下:思维图:192.168.30.129(网站服务器)192.168.30.128本地备份服务器通过shell脚本自动打包压缩并备份通过本机shell脚本执行sftp下载说明:通过两个shell脚本执行自动化管理,一个在30.129上执行对备份的数据进行打包并压缩,并在本地进行数据存放。另一个在30.128上执行,通过sftp功能对30.129上打包的数据进行下载。操作过程(1)在30.129上我们需要备份30.129上文件目录/var/lib/mysql/ganqi_cms/以及/var/两个目录文件,其中collect目录中cache、images以及Images三个目录不需要备份。另外,ganqi_cms目录文件不但要备份至30.128上,而且还要在本机30.129上另存一份。编写shell脚本命名为:Auto_backup.sh#!/bin/shMYDATE=`date+%F`#将日期赋予变量MYDATEtar-zcvf/root/mysql_bak/ganqi_cms_$MYDATE.tar.gz/var/lib/mysql/ganqi_cms/#将ganqi_cms打包压缩存入/root/mysql_bak/做本地备份tar-zcvf/tmp/ganqi_cms_$MYDATE.tar.gz/var/lib/mysql/ganqi_cms/#将ganqi_cms放入/tmp目录下做远程下载备份tar-zcvf/tmp/collect_$MYDATE.tar.gz--exclude=/var/=/var/=/var/将collect文件打包压缩并放入/tmp目录下做远程下载备份对Auto_backup.sh进行权限设置,使其具有执行权限chmod755/usr/local/sh/Auto_backup.sh,运行Auto_backup.sh在/tmp下将获得以时间结尾的打包压缩文件collect和ganqi_cms文件,并且30.129上对ganqi_cms也进行了存放(2)在30.128上30.129上工作已经完成,现在需要通过sftp对其进行下载。1.生成密钥对,使shell脚本运行后能自动登入sftp而无须输入密码,操作如下:在30.128上进行如下操作[root@CentOS1.ssh]#ssh-keygen-trsaGeneratingpublic/privatersakeypair.Enterfileinwhichtosavethekey(/root/.ssh/id_rsa):#我用空格Enterpassphrase(emptyfornopassphrase):#我用空格Entersamepassphraseagain:#我用空格Youridentificationhasbeensavedin/root/.ssh/id_rsa.Yourpublickeyhasbeensavedin/root/.ssh/id_rsa.pub.Thekeyfingerprintis:76:00:40:20:72:8a:da:45:5f:1b:57:ce:d9:40:b4:35root@CentOS1Thekey'srandomartimageis:+--[RSA2048]----+|ooo+..o.+=E||o+..o+o*.||o..o=.||....||..S.||..|||||||+-----------------+Youhavenewmailin/var/spool/mail/root[root@CentOS1.ssh]#lsid_rsaid_rsa.pub生成公钥id_rsa.pub和私钥id_rsa,将公钥id_rsa.pub复制到30.129目录~/..ssh下(如果没有.ssh就创建一个目录),并改名为authorized_keys,OK,在30.128上登入sftp即可无须输入密码。无密码登入sftp设置好后便可创建sftp自动下载脚本Auto_sftp.sh,创建准备要存放下载的目录collect_bak和mysql_bak如下:#!/bin/shMYDATE=`date+%F`sftp192.168.30.129EOMget/tmp/collect_$MYDATE.tar.gz/home/collect_bakget/tmp/ganqi_cms_$MYDATE.tar.gz/home/mysql_bakbyeEOMok,完成定时任务这是最后一步,设置定时任务crontab–e在30.129上设定时:05**5/usr/local/sh/Auto_backup.sh每周五5点进行打包在30.128上设定时:07**5/usr/local/sh/Auto_sftp.sh每周五7点进行下载全部任务已经完成,可以放心的去睡觉了。在定时上30.129的时间设置要早于30.128哦!补充:我们使用的ssh都是默认的端口22,如果修改过端口需在Auto_sftp.sh脚本的sftp登入中加–oPort=端口sftp–oPort=22004root@192.168.30.1292015/12/18
本文标题:Linux运维之sftp自动备份(项目经验全)
链接地址:https://www.777doc.com/doc-2885032 .html