Rsync + SSH + Expect 实现安全的集中的自动的备份

简介:

                        Rsync + SSH + Expect 实现安全的集中的自动的备份

 
请在下图上点击一下,就可以看到清晰的图片了,笔者不大会弄图片,请见谅。
 
因第一种方法(普通的备份方法)使用得比较多,所以就不在举例了。下面说说第二种方法(改进后的备份方法)的具体配置。
1、在备份中心上执行下列操作:
第一步:写一个BASH脚本,作具体的拷贝文件的工作,例如:
 -bash-3.00# cat 181.sh
rsync -avz --rsh="ssh -l xx-rsync-user" \
      --exclude-from=/opt/script/data/181/exclude_dirs \
xxx.xx.xxx.181:/usr/my_applications  /opt/backup/xxx.xxx.xxx.181/
注:xx-rsync-user 是服务器xxx.xx.xxx.181上的一个普通权限用户,该用户只有对目 /usr/my_applications的读权限。
第二步:写一个Expect脚本,调用第一步的BASH脚本,目的是给BASH脚本输入密码,例如:
-bash-3.00# cat 181.exp
#!/usr/bin/expect -f
#
spawn date "+%Y-%m-%d %H:%M"
expect "#"
spawn /opt/script/prod/181.sh
expect "password:" { send "< 用户xx-rsync-user的密码> \n" }
expect ".*\@.*#"
 
第三步:建立一个crontab,调用第二步的Expect脚本,以定时自动备份,例如:
10 * * * * /opt/script/prod/181.exp >> /opt/script/data/181/181.log
 
2. 在需要备份资料的服务器上执行下列操作:
第一步:登录到服务器xxx.xx.xxx.181上去,建立用户xx-rsync-user,并授予其对/user/my_applications目录的只读权限;
 
如果有其它的服务器需要备份,那么重复上述步骤就OK了。



本文转自zkjian517 51CTO博客,原文链接:http://blog.51cto.com/zoukejian/56678

相关文章
|
8月前
|
移动开发 监控 安全
通过SSH协议实现的屏幕局域网电脑监控:屏幕安全访问代码
随着科技的不断发展,网络安全问题愈发突出。为了确保屏幕数据的安全,我们需要一种高效可靠的监控方法。本文介绍了一种基于SSH协议的屏幕局域网电脑监控方案,同时提供了相关代码示例,确保屏幕数据的安全传输和访问。
309 0
|
7月前
|
安全 数据挖掘 Shell
SSH安全远程登录与端口转发
**SSH 概述**:SSH 是开发者必备工具,用于安全远程登录及文件传输。本文聚焦SSH的两大功能:**密钥登录**和**端口转发**。
175 0
|
8月前
|
算法 安全 Shell
SSH:加密安全访问网络的革命性协议
SSH:加密安全访问网络的革命性协议
222 9
|
8月前
|
监控 安全 Linux
【专栏】Linux SSH 的安全对于远程管理至关重要,这几个小妙招安排上!
【4月更文挑战第28天】在数字化时代,Linux SSH 的安全对于远程管理至关重要。增强 SSH 安全包括:使用强密码,调整 SSH 配置文件,尤其是端口号和认证方式;采用密钥认证代替密码;限制登录用户,禁止密码登录;使用防火墙限制访问;定期更新系统和软件。此外,通过日志监控、入侵检测系统及及时应对攻击来提升安全监控。保持对安全知识的学习和更新,结合最佳实践,是保障 SSH 安全的关键。记得安全是个持续过程,时刻保持警惕!
168 1
|
4月前
|
监控 Linux Shell
Rsync 基于 SSH 同步
Rsync 实时同步配置
130 3
|
5月前
|
存储 安全 测试技术
【超实用却暗藏杀机】sshpass:一键免密SSH登录的神器,为何生产环境却要敬而远之?探秘背后的安全隐患与替代方案!
【8月更文挑战第16天】sshpass 是一款便捷工具,可实现自动化SSH登录,简化脚本中的远程连接流程。通过后台自动处理密码输入,便于执行远程操作,如 `sshpass -p &#39;yourpassword&#39; ssh user@remotehost`。也可结合更多SSH选项使用,例如指定私钥文件。然而,因需明文传递密码,存在较大安全隐患,不适于生产环境;推荐使用公钥认证以增强安全性。
411 4
|
5月前
|
安全 Linux 网络安全
在Linux中,使用rsync同步数据时,假如采用的是ssh方式,并且目标机器的sshd端端并不是默认的22端口,该如何做?
在Linux中,使用rsync同步数据时,假如采用的是ssh方式,并且目标机器的sshd端端并不是默认的22端口,该如何做?
|
5月前
|
安全 Linux 网络安全
在Linux中,如何配置SSH以确保远程连接的安全?
在Linux中,如何配置SSH以确保远程连接的安全?
|
5月前
|
存储 安全 Linux
说到Linux安全,SSH限制IP登录绕不开这3种方法!
说到Linux安全,SSH限制IP登录绕不开这3种方法!
284 0
|
8月前
|
安全 Linux 网络安全
SSH 简介:安全远程访问的利器
SSH是加密网络协议,用于安全远程登录和数据传输。它基于公钥和私钥验证,加密传输确保通信安全。默认使用22端口。在Linux和macOS系统上预装,Windows需额外安装。基本用法包括远程登录(ssh username@hostname)、文件传输(scp source destination)和端口转发。推荐使用密钥对认证,限制登录尝试次数,并配置SSH代理以增强安全性。了解这些基础和技巧能提升远程服务器管理和文件传输效率。
SSH 简介:安全远程访问的利器