linux expect 實(shí)現(xiàn)定時scp的任務(wù)

一蘑险,什么是expect?

expect 是一種腳本語言冠摄,

在做系統(tǒng)管理時鹊漠,我們很多時候需要輸入密碼,例如:連接 ssh,連接ftp,

那么如何能做到不輸入密碼嗎浙滤?

我們需要有一個工具阴挣,能代替我們實(shí)現(xiàn)與終端的交互,

那么纺腊,就是它:expect畔咧,管理員的最好的朋友之一

它能夠代替我們實(shí)現(xiàn)與終端的交互,我們不必再守候在電腦旁邊輸入密碼摹菠,

或是根據(jù)系統(tǒng)的輸出再運(yùn)行相應(yīng)的命令盒卸,

這些都可以由expect代替我們來完成

二,安裝 expect?

因?yàn)閑xpect 是基于tcl, 所以建議yum安裝次氨,省去相關(guān)依賴包的安裝

#yum install expect?

會安裝2個包 一個tcl, 一個expect?

檢查expect命令位置

#which is expect?

/bin/expect?

腳本如下


#!/bin/expect??

set timeout -1? ?

spawn scp -r /data/mysql/dbbackup? scp_user@10.129.148.11:/data/scp_data_dir/maxus_data/

expect "password:"

send "P1qSX2wDC!\r"

expect eof

exit


1.? #!/bin/expect

這一行告訴操作系統(tǒng)腳本里的代碼使用那一個shell來執(zhí)行蔽介。這里的expect其實(shí)和linux下的bash、windows下的cmd是一類東西。

注意:這一行需要在腳本的第一行虹蓄。

2. set timeout -1

-1 永不超時犀呼,計(jì)時單位是:秒?

3. spawn scp -r /data/mysql/dbbackup? scp_user@10.129.148.11:/data/scp_data_dir/maxus_data/

spawn是進(jìn)入expect環(huán)境后才可以執(zhí)行的expect內(nèi)部命令,如果沒有裝expect或者直接在默認(rèn)的SHELL下執(zhí)行是找不到spawn命令的薇组。所以不要用 “which spawn“之類的命令去找spawn命令外臂。好比windows里的dir就是一個內(nèi)部命令,這個命令由shell自帶律胀,你無法找到一個dir.com 或 dir.exe 的可執(zhí)行文件宋光。

它主要的功能是給ssh運(yùn)行進(jìn)程加個殼,用來傳遞交互指令炭菌。

4. expect "password:"

這里的expect也是expect的一個內(nèi)部命令罪佳,有點(diǎn)暈吧,expect的shell命令和內(nèi)部命令是一樣的黑低,但不是一個功能赘艳,習(xí)慣就好了。這個命令的意思是判斷上次輸出結(jié)果里是否包含“password:”的字符串克握,如果有則立即返回蕾管,否則就等待一段時間后返回,這里等待時長就是前面設(shè)置的超時時間

5. send "ispass\r"

這里就是執(zhí)行交互動作菩暗,與手工輸入密碼的動作等效掰曾。

溫馨提示: 命令字符串結(jié)尾別忘記加上“\r”,如果出現(xiàn)異常等待的狀態(tài)可以核查一下停团。

6. interact

執(zhí)行完成后保持交互狀態(tài)婴梧,把控制權(quán)交給控制臺,這個時候就可以手工操作了客蹋。如果沒有這一句登錄完成后會退出塞蹭,而不是留在遠(yuǎn)程終端上。

7. expect eof?

執(zhí)行完后退出expect 環(huán)境

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末讶坯,一起剝皮案震驚了整個濱河市番电,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌辆琅,老刑警劉巖漱办,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異婉烟,居然都是意外死亡娩井,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進(jìn)店門似袁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來洞辣,“玉大人咐刨,你說我怎么就攤上這事⊙锼” “怎么了定鸟?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長著瓶。 經(jīng)常有香客問我联予,道長,這世上最難降的妖魔是什么材原? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任沸久,我火速辦了婚禮,結(jié)果婚禮上余蟹,老公的妹妹穿的比我還像新娘麦向。我一直安慰自己,他們只是感情好客叉,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著话告,像睡著了一般兼搏。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上沙郭,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天佛呻,我揣著相機(jī)與錄音,去河邊找鬼病线。 笑死吓著,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的送挑。 我是一名探鬼主播绑莺,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼惕耕!你這毒婦竟也來了纺裁?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤司澎,失蹤者是張志新(化名)和其女友劉穎欺缘,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體挤安,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡谚殊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了蛤铜。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片嫩絮。...
    茶點(diǎn)故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡丛肢,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出絮记,到底是詐尸還是另有隱情摔踱,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布怨愤,位于F島的核電站派敷,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏撰洗。R本人自食惡果不足惜篮愉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望差导。 院中可真熱鬧试躏,春花似錦、人聲如沸设褐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽助析。三九已至犀被,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間外冀,已是汗流浹背寡键。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留雪隧,地道東北人西轩。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像脑沿,于是被迫代替她去往敵國和親藕畔。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內(nèi)容