04-自动化运维工具
以下是根据您提供的内容整理的 Markdown 格式笔记:
Linux 运维与 Ansible 管理笔记
一、Ansible 管理配置
1. 被管理机器安装必要模块
yum install -y epel-release libselinux-python2. 备份 Ansible 主机配置文件
cp /etc/ansible/hosts{,.ori}3. 添加被管理主机
tail -3 /etc/ansible/hosts
[zuming]
10.2.20.22
10.2.20.234. 管理机器执行命令(需手动输入密码)
ansible zuming -m command -a 'hostname' -k -u root若报错指纹信息,需手动连接一次,生成 known_hosts 文件:vim ~/.ssh/known_hosts5. 配置密码免交互
编辑 /etc/ansible/hosts:
[zuming]
10.2.20.22 ansible_port=22 ansible_user=root ansible_ssh_pass=111111
10.2.20.23 ansible_port=22 ansible_user=root ansible_ssh_pass=111111然后可直接执行:
ansible zuming -m command -a 'hostname'6. SSH 密钥批量管理
生成密钥对
ssh-keygen -f ~/.ssh/id_rsa -p "" > /dev/null 2>&1密钥分发脚本 ssh_key_send.sh
#!/bin/bash
rm -rf ~/.ssh/id_rsa*
ssh-keygen -f ~/.ssh/id_rsa -P "" > /dev/null 2>&1
SSH_Pass=111111
Key_Path=~/.ssh/id_rsa.pub
for ip in 138 139 140
do
sshpass -p $SSH_Pass ssh-copy-id -i $Key_Path "-o StrictHostKeyChecking=no" 192.168.178.$ip
done执行分发:
sh ssh_key_send.sh分发后,hosts 文件中可不再配置密码。
二、Ansible 常用模块
1. 模块帮助
ansible-doc -l # 列出所有模块
ansible-doc -s command # 查看模块帮助2. command 模块
# 查看启动时间
ansible zuming -m command -a "uptime"
# 切换目录执行命令
ansible zuming -m command -a "pwd chdir=/tmp/"
# 忽略警告
ansible zuming -m command "chmod 000 /etc/hosts warn=False"3. shell 模块
# 查询进程
ansible zuming -m shell -a "ps -ef | grep vim | grep -v grep"
# 写入文件
ansible zuming -m shell -a "echo nihao > /tmp/hei.txt"
# 批量执行脚本
ansible zuming -m shell -a "mkdir -p /server/myscripts/;echo 'hostname' > /server/myscripts/hostname.sh;chmod +x /server/myscripts/hostname.sh;bash /server/myscripts/hostname.sh warn=False"4. script 模块
# 创建本地脚本
echo -e "pwd\nhostname" > /myscripts/local_hostname.sh
chmod +x /myscripts/local_hostname.sh
# 批量执行
ansible zuming -m script -a "/myscripts/local_hostname.sh"三、JumpServer 安装与管理
在线安装
curl -sSL https://resource.fit2cloud.com/jumpserver/jumpserver/releases/latest/download/quick_start.sh | bash常用命令
# 启动
/opt/jumpserver-installer-v3.4.3/jmsctl.sh start
# 停止
/opt/jumpserver-installer-v3.4.3/jmsctl.sh down
# 卸载
/opt/jumpserver-installer-v3.4.3/jmsctl.sh uninstall
# 帮助
/opt/jumpserver-installer-v3.4.3/jmsctl.sh help四、KMS 激活服务安装
# 下载并解压
wget --no-check-certificate https://cangshui.net/-down/-mytargz/vlmcsd-2018.zip
unzip -q vlmcsd-2018.zip -d /usr/local/
# 软链接
ln -sv /usr/local/vlmcsd-2018/ /usr/local/KMS
# 配置环境变量
echo "export PATH=/usr/local/KMS/binaries/Linux/intel/static:\$PATH" > /etc/profile.d/vlmcs.sh
source /etc/profile.d/vlmcs.sh
# 添加执行权限
chmod +x /usr/local/KMS/binaries/Linux/intel/static/*
# 设置开机自启
echo "vlmcsd-x64-musl-static" >> /etc/rc.local
# 启动服务
cd /usr/local/KMS/binaries/Linux/intel/static && ./vlmcsd-x64-musl-static五、pip 源配置
方法一:手动配置文件
mkdir ~/.pip
touch ~/.pip/pip.conf
vi ~/.pip/pip.conf内容如下:
[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = pypi.tuna.tsinghua.edu.cn方法二:使用命令配置
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
pip config set install.trusted-host mirrors.aliyun.com方法三:临时指定源
pip install -i https://mirrors.aliyun.com/pypi/simple/ package_name六、YUM 源配置(阿里云)
1. 备份原有源
mkdir /etc/yum.repos.d/repo-bak
mv /etc/yum.repos.d/* /etc/yum.repos.d/repo-bak2. 下载阿里云 CentOS 源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Basebk.repo.bk
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo3. 下载阿里云 EPEL 源
mv /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.bk
wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo4. 清理并重建缓存
yum clean all
yum makecache fast常见问题解决
# 清理缓存
rm -rf /var/cache/yum/*
yum clean all
yum makecache七、基础环境安装
yum install -y bash-completion vim lrzsz wget expect net-tools nc nmap tree dos2unix htop iftop iotop unzip telnet sl psmisc nethogs glances bc ntpdate openldap-devel gcc zlib zlib-devel openssl openssl-devel sshpass八、系统编码设置(中文支持)
临时生效
localedef -c -f UTF-8 -i zh_CN zh_CN.UTF-8
export LC_ALL=zh_CN.UTF-8永久生效
echo 'LANG="zh_CN.UTF-8"' > /etc/locale.conf查看当前编码
locale九、YUM 源管理命令
# 查看所有源
yum repolist all
# 查看可用源
yum repolist enabled
# 列出源下的安装包
yum list十、其他工具与操作
1. 文件备份
cp /app/build/app.js /app/build/app.js.bak
cp /app/build/main.js /app/build/main.js.bak2. 使用 sed 批量替换
sed -i 's/tool_choice: "auto"/tool_choice: "none"/g' /app/build/app.js3. 查看文件中某关键词
grep -n "tool_choice" /app/build/app.js | head -20如果还有其它内容需要整理或补充,可以继续告诉我。