系統(tǒng)之家 - 系統(tǒng)光盤(pán)下載網(wǎng)站!

當(dāng)前位置:系統(tǒng)之家 > 系統(tǒng)教程 > Linux使用shell腳本監(jiān)控rsync文件傳輸

Linux使用shell腳本監(jiān)控rsync文件傳輸?shù)耐暾?/h1>

時(shí)間:2015-06-19 16:24:47 作者:qipeng 來(lái)源:系統(tǒng)之家 1. 掃描二維碼隨時(shí)看資訊 2. 請(qǐng)使用手機(jī)瀏覽器訪(fǎng)問(wèn): https://m.xitongzhijia.net/xtjc/20150619/51198.html 手機(jī)查看 評(píng)論

  Linux系統(tǒng)在使用rsync傳輸大文件的時(shí)候,由于本人不在身邊,無(wú)法保證文件是否完整傳輸,這時(shí)可以編寫(xiě)一個(gè)shell腳本來(lái)監(jiān)控rsync是否傳輸完數(shù)據(jù),以確保文件傳輸?shù)揭话霑r(shí)中斷卻不知道。

Linux使用shell腳本監(jiān)控rsync文件傳輸?shù)耐暾? src=

  今天有臺(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)控是否有傳輸完。

  系統(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

  腳本的大概思路就是查看文件夾的大小是否有跟服務(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)有辦法處理的。

  上面就是Linux使用shell腳本監(jiān)控rsync文件傳輸?shù)耐暾,如果檢測(cè)到未傳完可繼續(xù)上傳。

發(fā)表評(píng)論

0

沒(méi)有更多評(píng)論了

評(píng)論就這些咯,讓大家也知道你的獨(dú)特見(jiàn)解

立即評(píng)論

以上留言?xún)H代表用戶(hù)個(gè)人觀點(diǎn),不代表系統(tǒng)之家立場(chǎng)

其他版本軟件

熱門(mén)教程

人氣教程排行

Linux系統(tǒng)推薦

掃碼關(guān)注
掃碼關(guān)注

掃碼關(guān)注 官方交流群 軟件收錄