熱搜:win11繞過(guò)硬件限制安裝 一鍵重裝Win10系統(tǒng) 最干凈的u盤(pán)啟動(dòng)盤(pán) 真正純凈版的win7系統(tǒng)
時(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í)中斷卻不知道。
今天有臺(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條
評(píng)論就這些咯,讓大家也知道你的獨(dú)特見(jiàn)解
立即評(píng)論以上留言?xún)H代表用戶(hù)個(gè)人觀點(diǎn),不代表系統(tǒng)之家立場(chǎng)