當前位置:首頁 » 文件傳輸 » 如何寫ftp腳本
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

如何寫ftp腳本

發布時間: 2022-05-07 15:29:33

A. 從FTP伺服器上下載一個可執行文件的腳本或命令,並運行這個程序。如何寫

echo open 10.131.29.242 >>d:\ftp.txt
echo 123>>d:\ftp.txt
echo 123>>d:\ftp.txt
echo lcd c:\tmp >>d:\ftp.txt
echo get a\bb.exe >>d:\ftp.txt
echo y >> d:\ftp.txt
echo bye >>d:\ftp.txt
c:
ftp -s:d:\ftp.txt
del d:\ftp.txt

B. FTP伺服器與客戶端資料 數據定期更新腳本怎樣寫

客戶端:
1
*.ftp
2
*.bat
3
WINDOWS計劃任務
第一步:
腳本語言寫在tongbu.ftp

open
192.168.0.99
administrator
d:
Cd
jieshouwenjian
Bin
Prompt
Mget
*.*
Bye
******
Mget
是下載
Mput
上傳
******
第二步:寫批處理文件
來執行你的腳本
tongbu.bat
ftp
-s:d:\tongbu.ftp
第三步:打開WINDOWS計劃任務
設定定時執行
控制面板--計劃任務
伺服器端:
建立好
用戶名:administrator
密碼:無
的用戶

C. 在Linux的客戶端上怎麼寫可以自動每隔5分鍾連接遠程的FTP的腳本

/etc/crontab linux的任務計劃*/5 * * * * 你的腳本 這就是每5分鍾運行一次腳本 腳本要寫ftp的自動應答 可以使用 expect命令

D. 編寫腳本,如何實現自動ftp到相應的環境,並下載相應的文件(shell)

可是試試用 wget 下載。這個可以登錄下載一起完成。
組織一下寫入shell腳本中(因為你的具體情況我不清楚,所以腳本代碼不知道該怎麼給你寫,你自己寫進去吧):

wget -c -t 10 "ftp://user:passwd@IP/dir/file" & > /dev/null

===============
後台靜默執行,如果出錯會顯示出錯信息(沒有將錯誤信息送到null中就是此意)。
如果要指定要下載到的目錄,就這樣
wget -c -t 10 "ftp://user:passwd@IP/dir/file" -P 目標目錄
=========================

E. FTP腳本怎麼設置啊

代碼發給你了:
#!/usr/bin/perl
-w
use
Net::FTP;
use
POSIX
qw(strftime);
#這個是我當時用來抓時間的可以省略
my
$remotefile;
my
$localfile;
my
$dir
=
'E:/CDR/trunk/';
#本地存放路徑
my
$host;
my
$password;
my
$ftp;
#1.
get
begin
$host='192.168.1.105';
#被FTP的遠程IP
$password='hahahaha';
#ftp的密碼
$ftp=Net::FTP->new($host)
or
die
"cannot
connect
to
ftp
server
$host!\n";
$ftp->login("root",$password);
$ftp->cwd("/AP/CDR");
#遠程抓取的路徑
if
(
-d
"$dir/$host"
)
{
#這個條件句是用來判斷本地目錄192.168.1.105是否存在,不存在就創建
}
else
{
system
"mkdir
-p
$host";
}
print
"the
list
of
/ap/cdr
from
$host!!\n";
#列出遠程目錄的所以非目錄文件,並抓取符合條件的文件
&list("/");
$ftp->quit;
#1.
get
end
sub
list()
#list類,判斷文件類型的核心
{
my
$current
=
$_[0];
my
@subdirs;
$ftp->cwd($current);
my
@allfiles
=
$ftp->ls();
foreach
(@allfiles){

if(&find_type($_)
eq
"d"){
#如果是目錄則列印並忽略掉

print
"this
floder!!\n";

}

else{

my
$tmp
=
"$_";

print
$tmp."\n";

if($tmp=~/adf/){
#判斷包含adf則抓取,當然可以擴展正則方法

$remotefile=$tmp;

$localfile
=
"$dir/$host/".$remotefile;

$ftp->binary();

$ftp->get($remotefile,$localfile)

or
die
"Could
not
get
remotefile:$remotefile\n";

print
"download
$remotefile
complete
from
$host!!\n";

}

}
}
}
sub
find_type{
my
$path
=
shift;
my
$pwd
=
$ftp->pwd;
my
$type
=
'-';
if
($ftp->cwd($path))
{

$ftp->cwd
($pwd);

$type
=
'd';
}
return
$type;
}

F. 求幫忙寫個python的FTP小腳本或者批處理,復制文件到多個文件夾

有幾個辦法
1.如果是linux,用scp,最簡單。
2.如果是windows,用共享文件夾最簡單,共享完後,復制就可以
3.在目標伺服器上弄一個服務,可以是FTP也可以是自己定義的socketserver。自己做服務端,也做客戶端。這樣許可權比較大。
4.在目錄伺服器上安裝一個標準的ftp伺服器。然後客戶端用python,使用ftplib

具體的用法。你自己去試驗。不會花多少時間。1個小時就弄好了。
先是使用ftp的CD命令到指定的目錄。然後是使用PUT命令上傳文件。

不過如果是方法4,而a,b,c又不是在同一個父目錄下,可能會有許可權問題。

G. 求助:使用SHELL語言編寫一個腳本實現ftp功能,將一個文件從本地a目錄取到伺服器b目錄。

下面這個是我一直在用的,會檢查ftp錯誤。

#!/bin/sh
ftp_put()
{
# -n:不使用auto-login;-i:不使用互動式提示輸入
ftp -n -i $ipAddr <<EOF
quote USER $username
quote PASS $password
cd b
lcd a
binary
put $myfile
bye
EOF
}

ipAddr=ftp地址
username=你的ftp用戶名
password=你的ftp密碼
myfile=你要傳的文件名(只要名稱無需路徑)
putErrlog=用於記錄ftp錯誤的日誌文件

ftp_put >/dev/null 2>$putErrlog #ftp錯誤導入日誌文件
bytes=`wc -c $putErrlog | awk '{print $1}'` #檢查錯誤日誌文件的位元組大小
if [ $bytes -ne 0 ]; then #大小不為0說明發生了錯誤,之後可以手動打開文件檢查錯誤原因
echo "FTP put failed!"
exit 1
else
echo "FTP put successfully!"
fi
exit 0

H. suse 的 b shell 腳本中怎麼寫 ftp 命令

重點是這一句:ftp -v -i -n 218.200.245.84</home/mediation/config.billing>>/home/mediation/log/ftpcdr.log

從這一句看出所有的FTP命令都是從「/home/mediation/config.billing」此文件中讀取的,所以你要的FTP命令都在這個文件中。

I. suse 定時ftp任務 腳本怎麼寫

重點是這一句:ftp-v-i-n218.200.245.84>/home/mediation/log/ftpcdr.log從這一句看出所有的FTP命令都是從「/home/mediation/config.billing」此文件中讀取的,所以你要的FTP命令都在這個文件中。

J. FTP自動備份腳本

換空間,數據的備份與恢復具體步驟操作!
一 備份數據
1,利用PW後台的數據備份功能進行備份.注意的是在備份數據的時候,為了數據的完整性,建議最好先關閉論壇,後台更新所有緩存和索引.
2,利用phpmyadmin,進行備份,具體如何備份,這里就不介紹.不清楚的可以查閱相關文檔,很簡單的.這里備份的文件是一個獨立sql文件.
以上方法一般適用與中小型論壇的備份,數據量比較小的時候還是很實用的,一般多為虛擬主機用戶使用.大型論壇的備份一般是 3,4兩種操作..主要是比較簡單操作,一些我個人認為比較復雜且不是很實用的方法就不介紹了不如通過Mysqlhot,使用binlog機制,增加mysql的事物日誌記錄等,這里就不介紹了.以下下操作一般有伺服器許可權的朋友才可以的.
3,直接復制或者打包資料庫文件,復制文件夾,大家應該都明白,我們來講打包,linux下用tar命令實現簡單有效,速度快.Win 下,直接用winrar或者winzip 搞定.注意需要暫停mysql服務.
4,Mysqlmp,是mysql自帶的腳本,假如資料庫名為abc,用戶名為:abcuser,密碼為123,,那應該使用
命令:
mysqlmp -uabcuser -p123 adc pwabc_bak.sql
,pwabc_bak.sql 你可以任意的命名.
二 數據還原
1,針對第一種備份方法,也是最普遍使用的.在恢復論壇數據的時候,要關閉php.ini文件中的safe mode,恢復完數據後,再打開SAFE MODE就可以了。(自己伺服器得才需要此設置,普通虛擬空間用戶不用此設置)
用FTP軟體下載老論壇所有文件
將所有文件上傳至新空間
打開網頁 你的論壇地址/admin.php 用你的論壇創始人帳號登陸
數據恢復(隨便點一個文件,程序會自動將剩餘文件導入的)
以上方法可保留所有數據及插件和模板。
對於不需要模板的或者不需要原來的插件的
老論壇備份數據,用FTP拉到本地。(具體在data目錄下)
上傳程序包里的文件到新空間,全新安裝
用FTP軟體將備份的數據上傳到新空間的data目錄下
用論壇創始人帳號進入後台,數據恢復
如果後台資料庫忘記了,可以直接修改sql_config.php里的資料庫帳號和創始人帳號密碼!這里輸入的創始人密碼不能直接是明文.需要是MD5加密過後的.
這里就給大家一個簡單的 MD5密文 [] 明文 [123456]之後就可以通過/admin.php 剛才修改的帳戶密碼登陸論壇了..
2,對於phpmysql備份的數據,在2M以下可以直接導入資料庫中(至於怎麼導,看相關文檔,很簡單.)數據量很大的情況只能到伺服器上,伺服器上 mysql 命令導入(具體導入將在"4"中介紹)虛擬主機用戶,那麼就得聯系你的空間商,讓他們協助完成數據的恢復.
3,對於打包資料庫文件的,可以直接解壓 把資料庫文件 放到你資料庫名的目錄下. 在linux下注意資料庫文件的許可權.一般都是mysql:mysql. Win 下關系不是很大,除非你做了特殊的許可權設置.
4,對於mysqlmp 導出數據, 按照備份數據中的舉例用戶來演示,
則命令為:
mysql -uabcuser -p123 abc abc_bak.sql
注意:
無任何錯誤一般來說就是正常完成。通常在使用 phpmyadmin 導入的sql腳本中有create database語句,會導致導入數據出錯,因為database 已經存在,把這段語句刪除之,再次檢查客戶的建表語句前是否有drop表的語句,如果沒有,而原資料庫存在同名表格,也會出錯,這時需要清空原資料庫.