我尝试将文件备份从我的dev服务器自动备份到EC2实例。计划设置一个每天运行脚本的cron作业。
这就是我想要完成的目标。
本地服务器---> JUMPHOST ----> EC2 INSTANCE
我可以使用单个脚本完成所有这些任务吗?
我不确定我是否可以在jumphost上运行单个脚本,该脚本将首先从dev-svr20获取文件,然后转移到EC2实例。
我知道我们可以将文件从AWS jumphost下载到本地计算机或从本地计算机上传到jumphost。但是,我们可以做其他方式吗?我的意思是jumphost可以从远程服务器(dev-svr20)获取文件吗?
答案 0 :(得分:2)
当然,这是可能的。您需要编写在跳转服务器上执行的脚本。运行此脚本的用户必须能够通过SSH连接到dev服务器和EC2实例,因为您需要通过SSH执行其中一些命令。
过程将类似于:
# Create the tarball on the dev server
ssh user@dev-svr20 tar cvf /tmp/my_files.tar /path/to/some/dir
# Copy the tarball to the jump server
scp user@dev-svr20:/tmp/my_files.tar /tmp/my_files.tar
# Copy the tarball to the EC2 instance
scp /tmp/my_files.tar user@ec2-instance:/tmp/my_files.tar
# Extract the tarball on the EC2 instance
ssh user@ec2-instance tar xvf /tmp/my_files.tar
像Fabric这样的工具可以简化一些步骤,或者你可以用Bash编写脚本。