当我获得新的VPS时,在开始使用VPS之前,我总是需要执行相同的任务。
我需要更改根密码。添加更多存储库。使用 apt-get 安装一些程序
是否可以创建一个简单的脚本来执行所有这些操作?我需要编写什么类型的脚本?
你可以写一个简单的bash脚本,或者你可以研究Puppet,Chef,Salt或Ansible等电动工具。
脚本是非常低级的,很难使"幂等"(能够运行两次)。上述工具允许您声明所需的内容,并且工具实现它,跳过已经完成的工作。
是的...有可能:
#!/bin/bash
script=$'
apt-get install <package-name>
apt-get install <package-name>
apt-get install <package-name>
passwd <<EOF
<your-new-password>
<your-new-password>
EOF
'
while read pass port user ip; do
sshpass -p$pass ssh -o 'StrictHostKeyChecking no' -p $port $user@$ip "$Script"
done <<___HERE
<pass> <port> <user> <ip>
<pass> <port> <user> <ip>
. . . .
<pass> <port> <user> <ip>
___HERE
首先,这会与您的IP建立SSH连接,然后在$script
中运行命令,然后转到下一个服务器。
但是在所有服务器上,您应该安装sshpass
:
apt-get install sshpass
你要找的是一个bash脚本。使用 bash 编写 shell 脚本是自动执行从命令行逐个运行的所有这些琐碎任务的好方法
检查一下:http://www.panix.com/~elflord/unix/bash-tute.html