Linux 自动化与时间管理全解析
1. 自动化的进阶应用
在拥有一个出色且实用的脚本后,可将其复制到所有计算机的 /root/bin
目录下。之后,只需在每台 Linux 主机的合适时间运行该脚本,就能完成更新操作。可以通过 SSH 登录到每台主机并运行程序。
SSH 是一个安全的终端模拟器,能让人登录到远程计算机,访问远程 shell 会话并运行命令。例如,可登录到远程计算机并运行 doUpdates
命令,结果会显示在本地主机的 SSH 终端模拟器窗口中,命令的标准输出也会显示在终端窗口。
若使用 SSH 公钥/私钥对,就无需每次向远程主机发出命令时都输入密码。此时,在本地主机上运行单个命令,就能通过 SSH 隧道将命令发送到远程主机。这意味着,能对一台计算机做的事,也能对多台甚至数百台计算机做。例如下面这个简单的 Bash 命令行程序:
for I in host1 host2 host3 ; do ssh $I doUpdates -r ; done
这个命令行程序能实现类似 Ansible 等高级工具的功能。为了避免每次安装更新时都重新输入命令,可以创建一个简短的 Bash 脚本,如:
#!/bin/bash
for I in host1 host2 host3 ; do ssh $I doUpdates -r ; done
可以将这个脚本命名为 “doit”,并将其放在 /