Shell腳本實現(xiàn)監(jiān)控rsync數(shù)據(jù)是否傳輸完
來源:易賢網(wǎng) 閱讀:673 次 日期:2015-01-30 14:40:24
溫馨提示:易賢網(wǎng)小編為您整理了“Shell腳本實現(xiàn)監(jiān)控rsync數(shù)據(jù)是否傳輸完”,方便廣大網(wǎng)友查閱!

今天有臺服務器a要把網(wǎng)站程序全部傳輸?shù)搅硗庖慌_服務器b上去,但離下班時間就只有1個小時了,為了準時下班,簡單寫了個shell腳本來監(jiān)控是否有傳輸完,我先在服務器a上看了下網(wǎng)站程序總大小為12G,用du -sm查看也就是11517,服務器也不會有人再傳東西上去了,所以我可以放心容量不會再變大了。

系統(tǒng):centos 5.x

需要的軟件:rsync

腳本內(nèi)容:

代碼如下:

#!/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

腳本的大概思路就是查看文件夾的大小是否有跟服務器a的大小一樣,如果不一樣就檢查rsync的進程是否有在運行,如果沒有運行就kill掉,然后重新執(zhí)行rsync的下載腳本.

ps:當然這個腳本有點簡陋,沒有去檢測進程狀態(tài),如果出現(xiàn)僵尸進程的話,是沒有辦法處理的.當然我這里就不再修改了,大家可以自己去修改.

更多信息請查看IT技術專欄

更多信息請查看腳本欄目

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權所有:易賢網(wǎng)