今天有臺(tái)服務(wù)器a要把網(wǎng)站程序全部傳輸?shù)搅硗庖慌_(tái)服務(wù)器b上去,但離下班時(shí)間就只有1個(gè)小時(shí)了,為了準(zhǔn)時(shí)下班,簡(jiǎn)單寫(xiě)了個(gè)shell腳本來(lái)監(jiān)控是否有傳輸完,我先在服務(wù)器a上看了下網(wǎng)站程序總大小為12G,用du -sm查看也就是11517,服務(wù)器也不會(huì)有人再傳東西上去了,所以我可以放心容量不會(huì)再變大了。
系統(tǒng):centos 5.x
需要的軟件:rsync
腳本內(nèi)容:
復(fù)制代碼 代碼如下:
#!/bin/bash
file=`du -sm /var/www/vhosts/|awk '{print $1}'`
ps=`ps -C rsync --no-header|wc -l`
if [ "$file" = "11517" ];then
echo "files downloaded!"
else
if [ "$ps" = "1" ];then
kill -9 $(ps aux | grep rsync |grep -v grep| awk '{print $2}')
sleep 1
nohup sh /root/rsync.sh
else
echo "rsync is running..."
fi
fi
腳本的大概思路就是查看文件夾的大小是否有跟服務(wù)器a的大小一樣,如果不一樣就檢查rsync的進(jìn)程是否有在運(yùn)行,如果沒(méi)有運(yùn)行就kill掉,然后重新執(zhí)行rsync的下載腳本.
ps:當(dāng)然這個(gè)腳本有點(diǎn)簡(jiǎn)陋,沒(méi)有去檢測(cè)進(jìn)程狀態(tài),如果出現(xiàn)僵尸進(jìn)程的話(huà),是沒(méi)有辦法處理的.當(dāng)然我這里就不再修改了,大家可以自己去修改.
您可能感興趣的文章:- shell腳本實(shí)現(xiàn)監(jiān)控shell腳本的執(zhí)行流程及變量的值
- Shell腳本實(shí)現(xiàn)Linux系統(tǒng)和進(jìn)程資源監(jiān)控
- Shell腳本實(shí)現(xiàn)監(jiān)控MySQL主從同步
- Shell腳本實(shí)現(xiàn)監(jiān)控iptables運(yùn)行狀態(tài)
- Shell腳本實(shí)現(xiàn)監(jiān)控kingate并自動(dòng)啟動(dòng)
- Shell腳本實(shí)現(xiàn)監(jiān)控iptables規(guī)則是否被修改
- Shell腳本實(shí)現(xiàn)memcache緩存命中率監(jiān)控
- 一個(gè)監(jiān)控Squid運(yùn)行進(jìn)程數(shù)并自動(dòng)重啟的簡(jiǎn)潔Shell腳本分享
- Shell腳本編寫(xiě)Nagios插件監(jiān)控程序資源占用
- Linux服務(wù)器硬件運(yùn)行狀態(tài)及故障郵件提醒的監(jiān)控腳本分享