⑴ 怎樣寫一個本地shell腳本來遠程主機上的shell腳本
安裝CentOS下安裝命令很簡單,如下sudoyuminstallexpect至於Mac用戶,可以通過homebrew安裝(需要先安裝homebrew,請自行Google)brewinstallexpect測試腳本我們寫一個簡單的腳本實現scp拷貝文件,在腳本里配置密碼,保存為scp.exp如下#!/usr/bin/expectsettimeout20if{[llength$argv]<2}{puts"Usage:"puts"$argv0local_fileremote_path"exit1}setlocal_file[lindex$argv0]setremote_path[lindex$argv1]setpasswdyour_passwdsetpasswderror0spawnscp$local_file$remote_pathexpect{"*assword:*"{if{$passwderror==1}{puts"passwdiserror"exit2}"$passwd\r"exp_continue}"*es/no)?*"{send"yes\r"exp_continue}timeout{puts"connectistimeout"exit3}}注意,第一行很重要,通常我們的腳本里第一行是#!/bin/bash,而這里是你機器上expect程序的路徑,說明這段腳本是由expect來解釋執行的,而不是由bash解釋執行,所以代碼的語法和shell腳本也是不一樣的,其中setpasswdyour_passwd設置成你自己的密碼,然後執行如下命令./scp.exp./local_fileuser@host:/xx/yy/執行前確保scp.exp有執行許可權,第一個參數為你本地文件,第二個為遠程主機的目錄,運行腳本如果報錯「connectistimeout」,可以把超時設長一點,第二行settimeout20可以設置超時時間,單位是秒。腳本執行效果如下還能做什麼細心的同學一定發現了,其實expect提供的是和終端的一種交互機制,輸入密碼只是其中一種應用形式,只要是在終端阻塞需要輸入時,都可以通過expect腳本完成自動輸入,比如前面腳本里配置了兩種交互場景,一種是終端提示"password:"時輸入密碼,還有一種是提示"yes/no)?"時輸入「yes」,如果和遠程主機是第一次建立連接,執行scp.exp腳本效果是這樣的所以我們可以根據終端的提示來配置輸入命令,這樣就能達到了自動化的效果。至於處理其它交互場景,只需要照著上面的腳本依葫蘆畫瓢就行了
⑵ 如何遠程調用windows上的批處理腳本
如果你想 在伺服器上運行,伺服器上的程序,就是終端。終端可以用telnet ssh等。
telnet伺服器系統自帶,ssh要在伺服器上安裝一個程序。
現在你就可以手動從本地 終端登陸伺服器了。
要想讓腳本自動登錄,有命令swawn 和 expect 寫腳本,當然這兩個命令需要客戶機環境支持。
⑶ 如何通過python腳本連接批量的遠程伺服器執行python腳本,伺服器都是windows系統
Python的特色簡單 Python是一種代表簡單主義思想的語言。閱讀一個良好的Python程序就感覺像是在讀英語一樣,盡管這個英語的要求非常嚴格!Python的這種偽代碼本質是它最大的優點之一。它使你能夠專注於解決問題而不是去搞明白語言本身。 易學 就如同你即將看到的一樣,Python極其容易上手。前面已經提到了,Python有極其簡單的語法。 免費、開源 Python是FLOSS(自由/開放源碼軟體)之一。簡單地說,你可以自由地發布這個軟體的拷貝、閱讀它的源代碼、對它做改動、把它的一部分用於新的自由軟體中。
⑷ shell腳本 裡面 怎麼 能連接遠程伺服器
shell連接不同的資料庫會有不同的連接命令,像連oracle用sqlplus命令, mysql 用mysql命令,sybase用isql命令
如連接oracle:sqlplus 用戶名/密碼@ip地址[:埠]/service_name [as sysdba]
mysql命令 應該是mysql -u用戶名 -p用戶密碼 -hIP
Access不清楚,access能安裝在unix上嗎?應該只能在windows上才能用吧.
⑸ linux shell 遠程連接腳本怎麼寫 Linux
樓上亂講,你在腳本里 ssh username@遠程主機ip 這樣寫的話會提示你輸入密碼,腳本不能實現自動化還有什麼意義。
直接在shell腳本里是實現不了自動登錄的,你需要藉助expect腳本。
redhat下默認是沒有安裝expect,你可以用yum install expect來安裝。
安裝完成後編寫腳本如下
#!/usr/bin/expect -f
set timeout 30
spawn ssh username@host
expect "*assword:*"
send "password\r"
expect eof
保存後給它加上可執行許可權,就可以用這個腳本登錄了。
解釋一下
set timeout 30 設置超時時間
spawn spawn用來啟動一個新的進程
expect 用來等待你所期望的系統返回的字元串
send 用來向系統發送一個字元串,即你的密碼
expect eof 等待接受文件結束符。
夠詳細了吧。累死我了。
⑹ 如何用shell腳本實現SSH的遠程登錄
要帶跳過輸入密碼的環節么?
如果你想每次鏈接的時候自己手動輸入密碼,那就參考這樣寫
#!/bin/bash
ip=$1
ssh 用戶名@ip地址 -p埠號
保存後給執行許可權,運行時在腳本後面直接跟一個IP地址
如果你想每次鏈接的時候自動跳過輸入密碼的環境,那就再網路下「ssh建立信任關系」,腳本依然還是這個腳本,只是登陸的時候做了互相信任的話,就不需要密碼了
⑺ Wincc的C腳本如何連接到遠程SQLServer資料庫具體代碼如何
1、建立存儲:
CREATE PROCere[owner.]procerename[;number]
[[(]@parameter_name datatype[=default][OUTput]
[,@parameter_name datatype[=default][OUTput]]...[)]]
[WITH RECOMPILE]
AS SQL_statements
2、存儲規則:
[EXECute][@return-status=]
[[[server.]database.]owner.]procerename[;number]
[[@parameter_name=]value|[@parameter_name=]@varialbe[OUTput]
[,[@parameter_name=]value|[@parameter_name=]@variable[OUTput]...]]
[WITH RECOMPILE]
⑻ shell腳本如何連接遠程資料庫
連Oracle資料庫,用:sqlplus -s usr/pwd@mylink @my.sql
⑼ 3322的動態域名自動更新腳本,哪個在用,能否正常更新
話說免費的今年開始陸陸續續出現這情況,如果域名比較重要,涉及到遠程對接計費啥的,還是搞個專業版的168一年!
⑽ 我想寫一個shell腳本,然後在腳本里實現操作遠程電腦:
ssh root@ip "...所有安裝命令寫在此處"
或者
寫一個mysql安裝腳本,假設mysql.sh
ssh root@ip < mysql.sh