kim1905 发表于 2013-07-17 12:41

求教一面试题

假设你是一名Linux系统管理员,现在需要你在尽可能短的时间内在500台服务器上都执行以下命令:
sysctl –w –q net.ipv4.tcp_tw_reuse = 1
你有什么解决方法?




我的解决思路是把一台机器的sysctl.conf文件配置好,然后使用rsync共享出来,其他机器通过脚本rsync这个文件过去再sysctl -p一下。


希望其他大大,能有更加好的解决方法!

wenhq 发表于 2013-07-20 16:35

expect 处理 或者pexpect

woxizishen 发表于 2013-07-21 11:08

本帖最后由 woxizishen 于 2013-07-21 11:11 编辑

自製一個可以在500台服務器遠程執行的計劃任務,並自動複製腳本文件到500台服務器下。然後自動運行腳本文件。運行完畢後刪除自身。并加一個排錯提示,如果哪一個沒執行成功則發送一個錯誤提示給您。

你唯一要做的就是寫好這個腳本。且最重要的是無論你有100%保證腳本執行成功,也請別忘記設定一個執行失敗給你一個錯誤信息。這事很多自動化運維人員最忘記的事。所以腳本出故障時到處查找原因。


我最喜歡做的自動化是不需要人做任何干預。


linux的shell結合計劃任務和linux系統程序是完全可以做到的。



在windows下,我可以做到任何你想要的自動化功能。windows下自動檢查備份檔案,服務器常見故障腳本自動修復等等太多了。而我用的就只是bat結合一些windows系統程序。

cryboy2001 发表于 2013-07-22 13:39

你在有500台服务器时,之前你就要有运维布署配置,如puppet

enous 发表于 2013-07-24 11:28

这个感觉完全就是理论的么...

shreychen 发表于 2013-07-24 22:01

1. fabric
2.
for h in `seq 1 500`
do
    ssh $h 'sysctl –w –q net.ipv4.tcp_tw_reuse = 1'
done

ssffzz1 发表于 2013-07-25 08:48

就是,服务器都提前集中管理了,啥工具都部署好了,这问题还有意义吗。

脚本解决不了吗?

hiwoody 发表于 2013-07-26 09:14

页: [1]
查看完整版本: 求教一面试题