基於ubuntu x86 12.04LTS
首先修改時區有三種方式:
一.沒有圖形界面GUI的情況下
1.使用tzselect命令並根據提示操作
2.把/usr/share/zoneinfo/下各時區文件覆蓋/etc/localtime,注意備份和權限問題
二.有GUI的情況下可以直接點擊時間選項卡修改
最後可以使用sudo ntpdate cn.pool.ntp.org修改時間
cn.pool.ntp.org是位於中國的公共NTP服務器,用來同步你的時間
以上是邏輯相關操作
接下來是腳本
#!/bin/bash
#modify system timezone
#timezonemod.sh
bitadir=/home/bita/
workdir=/home/bita/bisc
zonefiledir=/usr/share/zoneinfo
zoneconfdir=/etc/localtime
for ip in $(cat $workdir"/iplist.txt")
do
ssh -p36000 bita@$ip << EOF
echo "bita" | sudo -S cp /etc/localtime /etc/localtime.bak //備份時區文件
echo "bita" | sudo -S cp $zonefiledir"/Asia/Shanghai" $zoneconfdir //修改系統時區爲Asia-Shanghai
echo "bita" | sudo -S ntpdate cn.pool.ntp.org //跟cn.pool.ntp.org服務器同步時間
exit
EOF
done
echo "timezone modify completed!"
PS:此腳本是基於已建立服務器和客戶端雙向ssh祕鑰認證的環境下,否則使用時要注意ssh認證相關的問題,可參考這裏
附帶一個自動生成ip列表的文件(非傳參定製)
#!/bin/bash
#generate a ip list
for(ip=201;ip<240;ip++)
do
if [ ip -lt 216 ]
then
echo "192.168.11.$ip" >> iplist
else
echo "192.168.12.$ip" >> iplist
fi
done
//生成一個從192.168.11.201~192.168.11.215和192.168.12.216~192.168.12.239的ip列表文件