2022年Linux定期备份至远程服务器 .pdf
-
资源ID:27268639
资源大小:49.40KB
全文页数:3页
- 资源格式: PDF
下载积分:4.3金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
2022年Linux定期备份至远程服务器 .pdf
Linux定期备份至远程服务器一、 前期准备1. 服务器密钥配对,取消scp传输密码限制有些时候,我们在复制/移动文件到另一台机器时会用到scp,因为它比较安全。但如果每都要输入密码,就比较烦了,尤其是在script 里。不过, ssh 有另一种用密钥对来验证的方式,下面生成密匙对的过程:前提: 本地服务器:A,远程服务器: B 第一步:生成密钥对1)在 A 服务器上运行ssh-keygen -t rsa,如下rootrh user1$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): Created directory /root/.ssh. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /root/.ssh/id_rsa. Your public key has been saved in /root/.ssh/id_rsa.pub. The key fingerprint is: e0:f0:3b:d3:0a:3d:da:42:01:6a:61:2f:6c:a0:c6:e7 生成的过程中提示输入密钥对保存位置,直接回车, 接受默认值就行了。接着会提示输入一个不同于你的password 的密码,直接回车,让它空着。当然,也可以输入一个这样,密钥对就生成完了。在 /root/.ssh下 生 成id_rsa 和id_rsa.pub 两 个 文 件 , 其 中 公 共 密 钥 保 存 在/root/.ssh/id_rsa.pub,私有密钥保存在/root/.ssh/id_rsa。然后在 /root/.ssh 下复制备份一份 id_rsa.pub 命名为id_rsa.pub.A ,以便拷贝到服务器B;修改一下 .ssh 目录的权限,使用命令chmod 700 /root/.ssh2)在 B 上也同样运行ssh-keygen -t rsa,如上所示。第二步:密钥配对1)在 B 的/root/.ssh 下创建 authorized_keys 文件,把A 中 id_rsa.pub.A 文件传到B服务器 /root/.ssh f/.ssh 下, 通过cat 命令把 id_rsa.pub.A 追写到authorized_keys 文件中,命令依次如下:touch authorized_key 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 3 页 - - - - - - - - - chmod 600 /.ssh/authorized_keys scp /root/.ssh/id_rsa.pub.A root172.17.2.166:/root/.ssh/cat id_rsa.pub.A authorized_keys 2)配置完毕 ,测试此时, scp 文件名用户名 计算机 IP:远程路径,无需输入密码执行成功,如scp webapps root172.17.2.166:/test命令备注:复制文件: 1. 将本地文件拷贝到远程 scp 文件名用户名 计算机 IP:远程路径 2. 从远程将文件拷回本地scp 用户名 计算机 IP:文件名本地路径复制目录:1.将本地目录拷贝到远程 scp -r 目录名用户名 计算机 IP:远程路径 2. 从远程将目录拷回本地scp -r 用户名 计算机 IP:目录名本地路径2. 创建备份文件的目录A 服务器:cd /home mkdir backup cd backup mkdir log B 服务器(备份服务器)cd /home mkdir databackup 二、 创建备份脚本在源服务器A 上创建定期备份脚本backup.sh,脚本内容如下*backup.sh* #!/bin/bash LogFile=$BakDir/log/date +%Y-%m.log #log 存放路径DATE=date +%Y-%m-%d #当前系统日期SourceDir=/home/tomcat/ #源服务器需要备份的文件夹路径BakDir=/home/backup #备份文件存放地址名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 3 页 - - - - - - - - - RemoteBakDir=/home/databackup #备份服务器文件存放地址echo backup start at $(date +%Y-%m-%d %H:%M:%S) $LogFile echo - $LogFile #chengxu backup start find $BakDir -type f -mtime +1 -exec rm ; #删除 1 天以前的备份tar zcvf $SourceDir/webapps_bak_$DATE.tar.gz $BakDir # 打包需要备份的文件scp $SourceDir/webapps_* root172.17.2.166:$RemoteBakDir#备份到远程服务器上#database backup start mysqldump -uusername -ppassword databasename $BakDir/databasename_bak_$DATE.sql * 在备份服务器B 上创建定期删除脚本* remove_old_data.sh* cd $RemoteBakDir find $BakDir -type f -mtime +15 -exec rm ; #删除 15 天以前的备份* 给脚本文件赋予可执行的权限chmod 777 backup.sh (源服务器)chmod 777 remove_old.sh (备份服务器 ) 三、 定期执行任务定时执行任务比如每天凌晨2 点 1 分开始备份,则修改/etc/crontab 文件加入下面一句 (path 就是你backup.sh 的路径 ) 01 2 * * * root/path/backup.sh 然后重启一下crontab/etc/rc.d/init.d/crond restart 或#crontab e 01 2 * * * root/path/backup.sh 备注:日期的格式: * * * * *,五个星号分别是, 分 ( 0-59) 时(0-23 ) 天(1-31) 月(1-12 )星期( 0-6) 0 是礼拜天名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 3 页 - - - - - - - - -