真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何用shell寫一個rsync網(wǎng)絡(luò)服務(wù)啟動腳本?超級詳細!-創(chuàng)新互聯(lián)

首先在寫腳本之前,你要知道關(guān)于rsync的理論知識與實操,才能寫好一個ok的腳本。

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:空間域名、網(wǎng)頁空間、營銷軟件、網(wǎng)站建設(shè)、邵東網(wǎng)站維護、網(wǎng)站推廣。

我們先來捋一捋:

rsync的啟動命令:

rsync --daemon

停止命令:

kill rsync進程號

pkill rsync

killall rsync

話不多說,上腳本:

#!/bin/bash
#####################################
#?File?Name:?rsyncd.sh
#?Version:?V1.0
#?Author:?wuhan
#?Created?Time?:?2018-10-14?13:19:53
#?Description:?rsync?service?script
#####################################

.?/etc/init.d/functions
#首先加載/etc/init.d/functions,待會我們需要用里面的基礎(chǔ)函數(shù)

lockfile="/var/lock/subsys/rsyncd"
#定義一個鎖文件的變量
rpfp="/var/run/rsyncd.pid"
#寫一個rsync端口ID的變量,方便多次引用,可在此腳本中使用

#寫一個函數(shù),名為start
start(){
????#函數(shù)名
????rsync?--daemon?&&?>/dev/null
????#rsync服務(wù)啟動命令,啟動成功后輸出到空
????retval=$?
????#獲取返回值
????if?[?$retval?-eq?0?]
????#如果返回值等于0
????then
????#那么執(zhí)行如下操作
????????action?"rsync?startup?ok"?/bin/true
????????#用action函數(shù)輸出啟動成功的內(nèi)容并顯示ok
????????touch?$lockfile
????????#在創(chuàng)建一個鎖文件
????????return?$retval
????????#返回使用啟動命令后的返回值
????else
????#否則
????????action?"rsync?startup?fail"?/bin/false
????????#輸出服務(wù)啟動失敗的內(nèi)為,顯示false
????????return?$retval
????????#也返回啟動命令后的返回值,方便排錯
????fi
????#退出
}

#寫一個停止命令的函數(shù),名為stop
stop(){
????if?test?-s?"$rpfp"
????#如果端口ID文件長度不為0,那么為真,執(zhí)行如下操作
????then
????????rsyncd_pid=`cat?$rpfp`
????????#定義一個端口ID號的變量
????????if?(kill?-0?$rsyncd_pid?&>/dev/null)
????????#如果端口ID號存在,且輸出到空
????????then
????????#執(zhí)行如下操作
????????????kill?$rsyncd_pid
????????????#通過進程號殺掉rsync服務(wù)
????????????retval=$?
????????????#獲取返回值
????????????if?[?$retval?-eq?0?]
????????????#如果返回值等于0,執(zhí)行如下指令
????????????then
????????????????action?"rsync?stop?ok"?/bin/true
????????????????#輸出服務(wù)停止成功,顯示ok
????????????????rm?-fr?$lockfile
????????????????#如果殺掉rsync服務(wù),那就刪除鎖文件
????????????????return?"$retval"
????????????????#獲取返回值
????????????else
????????????#否則執(zhí)行如下操作
????????????????action?"rsync?stop?fail"?/bin/false
????????????????#輸出rsync停止失敗,顯示false
????????????????return?$retval
????????????????#獲得返回值
????????????fi
????????else
????????#否則
????????????echo?"rsyncd?process?is?not?exist."
????????????#提示rsync進程不存在
????????????return?2
????????????#返回值2
????????fi
????else
????#否則
????????echo?"${rpfp}is?not?exist,or?rsync?does?not?startup"
????????#提示端口號不存在或rsync服務(wù)沒啟動
????fi
????#結(jié)束
}

case?"$1"?in
#因為寫了函數(shù),所以我們這里用case結(jié)構(gòu)條件句更適合,定義$1為變量
????start)
????#匹配到start?執(zhí)行start函數(shù)并獲取返回值
????????start
????????retval=$?
????????;;
????stop)
????#匹配到stop?執(zhí)行stop函數(shù)并獲取返回值
????????stop
????????retval=$?
????????;;
????restart)
????#匹配到restart?先執(zhí)行stop函數(shù)休眠1s在執(zhí)行start實現(xiàn)restart,并獲取返回值
????????stop
????????sleep?1
????????start
????????retval=$?
????????;;
????*)
????#都沒有匹配到就輸出提示只能執(zhí)行三個函數(shù)中的一個
????????echo?"?usage:?$0?{start|stop|restart}?"
????????exit?1
esac
#結(jié)束
exit?$retval
#退出并取得返回值從而進行判斷

試驗:聰明的你可以看到PID進程號在我們的停止開啟和重啟之后更改,說明腳本ok。
[root@node1?~]#?lsof?-i:873 COMMAND???PID?USER???FD???TYPE?DEVICE?SIZE/OFF?NODE?NAME rsync???10044?root????4u??IPv4?639767??????0t0??TCP?*:rsync?(LISTEN) rsync???10044?root????5u??IPv6?639768??????0t0??TCP?*:rsync?(LISTEN) [root@node1?~]#?sh?/server/scripts/09/rsyncd3.sh?stop rsync?stop?ok??????????????????????????????????????????????[??OK??] [root@node1?~]#?lsof?-i:873 [root@node1?~]#? [root@node1?~]#?sh?/server/scripts/09/rsyncd3.sh?start rsync?startup?ok???????????????????????????????????????????[??OK??] [root@node1?~]#?lsof?-i:873 COMMAND???PID?USER???FD???TYPE?DEVICE?SIZE/OFF?NODE?NAME rsync???10212?root????4u??IPv4?664268??????0t0??TCP?*:rsync?(LISTEN) rsync???10212?root????5u??IPv6?664269??????0t0??TCP?*:rsync?(LISTEN) [root@node1?~]#?sh?/server/scripts/09/rsyncd3.sh?restart rsync?stop?ok??????????????????????????????????????????????[??OK??] rsync?startup?ok???????????????????????????????????????????[??OK??] [root@node1?~]#?lsof?-i:873 COMMAND???PID?USER???FD???TYPE?DEVICE?SIZE/OFF?NODE?NAME rsync???10227?root????4u??IPv4?664325??????0t0??TCP?*:rsync?(LISTEN) rsync???10227?root????5u??IPv6?664326??????0t0??TCP?*:rsync?(LISTEN)

此腳本直接復(fù)制粘貼即可使用,需要/etc/rsyncd.conf配置好pid和鎖文件

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


分享題目:如何用shell寫一個rsync網(wǎng)絡(luò)服務(wù)啟動腳本?超級詳細!-創(chuàng)新互聯(lián)
鏈接分享:http://weahome.cn/article/ddejoh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部