在日常工作中我们经常会遇到批量传输文件的需求,今天在这里和大家分享一下如何结合JumpServer实现实现文件批量传输和文件批量下载。
一、JumpServer文件批量传输
(1)使用JumpServer进行文件批量传输
点击进入“工作台”-“文件管理”-“批量传输”,在左侧勾选文件传输的目标机器,也可以按照资产节点进行批量选择。
参数选项:
用户:选择文件传输的用户
上传目录:定义文件传输的目录
######################## 注意:只能上传小于200MB的文件 #########################
二、使用Ansible批量操作文件
Ansible是自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。Ansible架构相对比较简单,仅需通过SSH连接客户机执行任务即可。Ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。
(1)Ansible文件批量传输
Ansible的安装这里不再介绍,可以使用最简单的yum安装方式:yum install ansible -y
配置Ansible
配置/etc/ansible/hosts,如下:
[server]
10.0.0.2 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass='123456' 10.0.0.3 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass='123456'
注意:文件中配置的密码是明文的,也可以对/etc/ansible/hosts进行加密处理
- 对文件加密这里需要输入加密密码 --ask-vault-pass
ansible-vault encrypt /etc/ansible/hosts
- 对文件解密这里需要输入加密密码
ansible-vault decrypt /etc/ansible/hosts
- 要查看文件内容可以使用:
ansible-vault view /etc/ansible/hosts
- 后续如要编辑ansible的host文件时
ansible-vault edit /etc/ansible/hosts
- 执行ansible命令
ansible -i /etc/ansible/hosts server -m ping --ask-vault-pass (执行时必须加 --ask-vault-pass参数)
文件批量传输
[root@fit ~]# ansible server -m copy -a "src=/etc/passwd dest=/tmp/passwd mode=600 owner=nobody group=nobody"
参数说明:
server:定义的主机组
src:传输文件名
dest:目录机器目录
(2)Ansible文件批量下载
[root@fit ~]# ansible server -m fetch -a 'src=/tmp/passwd dest=/root'
参数说明:
src:拉取文件名
dest:文件存放目录(以不同主机的IP创建不同的目录)
版权归原作者 @卫先生 所有, 如有侵权,请联系我们删除。