使用php呼叫shell指令碼同步檔案
當你在上傳檔案的時候需要同步到另外機器的時候,可以執行shell指令碼實現檔案同步
#! /bin/bash
a=$1
b=$2
ip=$3
port=$4
passwd=$5
/bin/rpm -qa|/bin/grep -q expect
if [ $? -ne 0 ];then
echo "please install expect"
exit
fi
if [ $# -ne 5 ];then
echo "must 5 parameter,1:source file,2:object file,3:object ip 4:object port,5:passwd"
exit
fi
expect -c "
spawn scp -P $port $a [email protected]$ip:$b
expect {
\"*assword\" {set timeout 300; send \"$passwd\r\";}
\"yes/no\" {send \"yes\r\"; exp_continue;}
}
expect eof"
執行指令碼需要安裝expect,直接yum安裝即可
expect指令碼是一種建立在tcl基礎上的指令碼語言,曝光率不高,卻堪稱shell指令碼的好基友。expect指令碼為互動而生,被設計為專門針對互動式程式的工具,常與對telnet、ftp、fsck、rlogin、tip、scp等配合使用
如果是從win上編輯過的指令碼在linux下出現no such file or directory,可在linux下vi指令碼執行
:sef ff=unix
在php執行shell指令碼時,記得要寫絕對路徑
相關推薦
使用php呼叫shell指令碼同步檔案
當你在上傳檔案的時候需要同步到另外機器的時候,可以執行shell指令碼實現檔案同步 #! /bin/bash a=$1 b=$2 ip=$3 port=$4 passwd=$5 /bin/rpm
php呼叫shell指令碼(web端和客戶端同時實現)
想這個問題有一段時間了,一開始想實現的功能是在web端點選一個按鈕,然後liunx主機採集影象,在瀏覽器上顯示。於是自然而然的想到了php呼叫shell指令碼。查了很多資料。實現了。 下面開始講解。本
如何在客戶端上傳shell指令碼檔案,並利用PHP呼叫執行指令碼
題目中的上傳包含兩部分,一部分是上傳檔案,一部分是利用PHP執行指令碼 上傳檔案到指定資料夾 所謂檔案上傳是指將本地文字檔案,圖片視訊或者音訊等檔案上傳到伺服器上,以供後續操作的過程。 上傳檔案有幾種方式,包括: - 單純的form表單上傳提交 使
利用Oracle DBMS_SCHEDULER呼叫shell指令碼檔案
今天在itpub上看到個帖子,大意是使用shell指令碼取檔案列表,和資料庫中一個表中記錄的檔名相比較,沒有的插入到表裡去。實驗程式碼如下:#建立檔案filelist.sh如下: #!/bin/bash
php生成shell指令碼並且呼叫
呼叫shell指令碼 廢話少說,用php呼叫已經有的shell指令碼是非常簡單的,使用system() 函式就可以具體語法就是**system(“/opt/lampp/file.sh”,a)∗∗,說明下這個a,就是當shell指令碼執行完的結果返回到 $a當中
shell指令碼 顯示檔案大小 顯示執行時間
顯示大小 echo $file size=`stat -c "%s" $file` 顯示執行時間 starttime=`date +'%Y-%m-%d %H:%M:%S'` endtime=`date +'%Y-%m-%d %H:%M:%S'` start_seconds
shell 指令碼替換檔案中的某個字串
1、將當前目錄下包含"qwe"串的檔案中的"qwe"字串替換為"abc" sed -i “s/qwe/abc/g” grep "qwe" -rl ./ 2、將某個檔案中的"qwe"字串替換為"abc" sed -i “s/qwe/abc/g” test.txt 如果將某個檔案
shell指令碼實現檔案改名/重新命名
shell指令碼實現檔案改名小操作, 在此做一記錄. #!/bin/bash #將資料檔案.SAC名改為'<sta>.[N/E/Z].SAC' #例如2014.143.20.49.21.0000.YN.BAS.00.BHE.M.SAC改為BAS.E.SAC cd ..
Swift 呼叫 Shell 指令碼
最近在進行一個工作專案,需要在swift中呼叫shell指令碼: Swift呼叫shell介面 1. GetQCRLog.swift // GetQCRLog // Created by Cyril on 7/19/18. // Copyright © 20
Java遠端呼叫shell指令碼(專案實戰)
前言 Java遠端呼叫shell指令碼,需要用到SSH建立連結(類似於xshell連線linux),然後再根據合法的引數進行shell指令碼呼叫 1 首先,從業務層開始,我這裡實現重傳指令碼的業務,程式碼如下. //重傳 public
解決呼叫shell指令碼中相對路徑的問題
依家我有1個軟體goagent目錄(大家懂得) 放在/home/gateman/Programs/ 下 1. proxy.py 入面有1個 proxy.py 檔案 放在/home/gateman/Programs/goagent/local/ 入面 2.breakwall.sh 我在 proxy.py 的上一
Linux系統中執行.sh(Shell指令碼)檔案
其中,以絕對路徑執行方法: (1)./home/test/shell/hello.sh,可以這樣執行是因為當前登入使用者是root,當前路徑是在/下,. 代表當前路徑。 (2)/home/test/shell/hello
shell指令碼實現檔案移動、複製等操作
如題。 在此做一記錄,方便查閱。 #!/bin/bash #將一個目錄下的一些檔案移動到另一個目錄下 raw_dir="/home/liuyi/evt_test" #可修改絕對路徑; mkdir /home/liuyi/evt_bp #建立新的檔案目錄; for
expect指令碼同步檔案,expect指令碼指定host和要同步的檔案,構建檔案分發系統,批量遠端執行命令
expect指令碼同步檔案 在一臺機器上把檔案同步到多臺機器上 自動同步檔案 #!/usr/bin/expect set passwd "123456" spawn rsync -av [email protected]:/tmp/12.txt /tmp/ ex
python呼叫Shell指令碼:os.system(cmd)或os.popen(cmd)的區別
兩者的區別是: os.system(cmd)的返回值只會有0(成功),1,2 os.popen(cmd)會吧執行的cmd的輸出作為值返回。 python呼叫Shell指令碼,有兩種方法:os.system(cmd)或os.popen(cmd),前者返回值是指令碼的退出
c/c++程式內部呼叫shell指令碼
system() 函式原型: #include <stdlib.h> int system(const char *str) 指令碼示例test.sh #!/bin/sh echo $HOME 指令碼呼叫程式示例demo.cc #include
crontab執行任務呼叫shell指令碼,相對路徑無法找到
問題出現的場景大概就是 1 cron呼叫一個python指令碼 2 python指令碼中呼叫一個shell指令碼(對日誌分析)獲取shell輸出然後傳送郵件 類似一個監控任務。 直接執行python指令碼沒有問題,但是寫在cron中之後,shell指令碼中的相對路徑就找不到
Sqlplus裡如何呼叫Shell指令碼?待整理
自己封裝的一個shell指令碼,關鍵是如何呼叫呢?求助! #!/bin/sh function createOracleInstance(){ tableSpace=$1 tempTableSpace=${tableSpace}"_tem
十七週四次課 2018.03.05 expect指令碼同步檔案、expect指令碼指定host和要同步的檔案、構建檔案分發系統、批量遠端執行命令
20.31 expect指令碼同步檔案 在一臺機器上把檔案同步到另外一臺機器上去。 建立檔案,然後把上面的程式碼貼上進去, 把尾號132的遠端機器的12.txt同步到本機的/tmp/目錄下 第一次登入問提示是否登入,第二次就可以直接輸密碼登入了。 表示expect結束了,
PHP 執行shell 指令碼,常見問題
php呼叫shell指令碼 1)exec() 原型: string exec ( string $command [, array &$output [, int &$return_var ] ) 說明: exec執行系統外部命令時不會輸出結果,而是返回結果