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

ftp腳本傳輸文件

發布時間: 2022-11-13 22:38:56

㈠ 如何使2台Linux伺服器通過FTP自動同步文件(用Shell腳本

樓上正解。

㈡ ftp上傳文件命令

可以使用重定向「<」來實現

不過需要寫好FTP腳本。

FTP命令可以自己網路下試試。基本上是這樣

ftp 連接的伺服器埠

輸入用戶名

密碼

bin

(如果有下層文件夾需要先CD文件夾)

get 文件名(這是下載單個文件)

mget 文件名1 文件名2等支持通配符

quit 退出

擴展

什麼是FTP呢?FTP 是 TCP/IP 協議組中的協議之一,是英文File Transfer Protocol的縮寫。該協議是Internet文件傳送的基礎,它由一系列規格說明文檔組成,目標是提高文件的共享性,提供非直接使用遠程計算機,使存儲介質對用戶透明和可靠高效地傳送數據。簡單的說,FTP就是完成兩台計算機之間的拷貝,從遠程計算機拷貝文件至自己的計算機上,稱之為「下載(download)」文件。若將文件從自己計算機中拷貝至遠程計算機上,則稱之為「上載(upload)」文件。在TCP/IP協議中,FTP標准命令TCP埠號為21,Port方式數據埠為20。FTP協議的任務是從一台計算機將文件傳送到另一台計算機,它與這兩台計算機所處的位置、聯接的方式、甚至是是否使用相同的操作系統無關。假設兩台計算機通過ftp協議對話,並且能訪問Internet, 你可以用ftp命令來傳輸文件。每種操作系統使用上有某一些細微差別,但是每種協議基本的命令結構是相同的。
FTP的傳輸有兩種方式:ASCII傳輸模式和二進制數據傳輸模式。
1.ASCII傳輸方式:假定用戶正在拷貝的文件包含的簡單ASCII碼文本,如果在遠程機器上運行的不是UNIX,當文件傳輸時ftp通常會自動地調整文件的內容以便於把文件解釋成另外那台計算機存儲文本文件的格式。
但是常常有這樣的情況,用戶正在傳輸的文件包含的不是文本文件,它們可能是程序,資料庫,字處理文件或者壓縮文件(盡管字處理文件包含的大部分是文本,其中也包含有指示頁尺寸,字型檔等信息的非列印字元)。在拷貝任何非文本文件之前,用binary 命令告訴ftp逐字拷貝,不要對這些文件進行處理,這也是下面要講的二進制傳輸。
2.二進制傳輸模式:在二進制傳輸中,保存文件的位序,以便原始和拷貝的是逐位一一對應的。即使目的地機器上包含位序列的文件是沒意義的。例如,macintosh以二進制方式傳送可執行文件到Windows系統,在對方系統上,此文件不能執行。
如果你在ASCII方式下傳輸二進制文件,即使不需要也仍會轉譯。這會使傳輸稍微變慢 ,也會損壞數據,使文件變得不能用。(在大多數計算機上,ASCII方式一般假設每一字元的第一有效位無意義,因為ASCII字元組合不使用它。如果你傳輸二進制文件,所有的位都是重要的。)如果你知道這兩台機器是同樣的,則二進制方式對文本文件和數據文件都是有效的。
5. FTP的工作方式
FTP支持兩種模式,一種方式叫做Standard (也就是 PORT方式,主動方式),一種是 Passive (也就是PASV,被動方式)。 Standard模式 FTP的客戶端發送 PORT 命令到FTP伺服器。Passive模式FTP的客戶端發送 PASV命令到 FTP Server。
下面介紹一個這兩種方式的工作原理:
Port模式FTP 客戶端首先和FTP伺服器的TCP 21埠建立連接,通過這個通道發送命令,客戶端需要接收數據的時候在這個通道上發送PORT命令。 PORT命令包含了客戶端用什麼埠接收數據。在傳送數據的時候,伺服器端通過自己的TCP 20埠連接至客戶端的指定埠發送數據。 FTP server必須和客戶端建立一個新的連接用來傳送數據。
Passive模式在建立控制通道的時候和Standard模式類似,但建立連接後發送的不是Port命令,而是Pasv命令。FTP伺服器收到Pasv命令後,隨機打開一個高端埠(埠號大於1024)並且通知客戶端在這個埠上傳送數據的請求,客戶端連接FTP伺服器此埠,然後FTP伺服器將通過這個埠進行數據的傳送,這個時候FTP server不再需要建立一個新的和客戶端之間的連接。
很多防火牆在設置的時候都是不允許接受外部發起的連接的,所以許多位於防火牆後或內網的FTP伺服器不支持PASV模式,因為客戶端無法穿過防火牆打開FTP伺服器的高端埠;而許多內網的客戶端不能用PORT模式登陸FTP伺服器,因為從伺服器的TCP 20無法和內部網路的客戶端建立一個新的連接,造成無法工作。

㈢ Linux shell 腳本ftp傳輸文件

ftp xxxxftp伺服器
put命令上傳
或者
輸入ftp
執行open xxxftp伺服器
然後 再執行
put命令上傳。

㈣ 我在網上找的了一個shell腳本用於給FTP伺服器傳送文件,但是部分內容不懂 求大神賜教

FTPIT只是個標志,你看最後邊還有一個FTPIT,整體是這樣的
ftp -i -n $IP <<FTPIT
...
FTPIT
它就和<<EOF是一樣的,就是代表在前後兩個FTPIT之間的內容傳給ftp命令執行。

㈤ linux怎麼通過ftp傳送文件腳本

tftp -pl/gr 文件名 IP
-pl表示本地推送到IP的地址
-gr表示從IP的地址獲取文件

㈥ linux自動備份網站及自動上傳FTP腳本的方法

對於我們個人站長來說,數據的重要不用再談,而很多站長經常忘記備份數據,也有無良的JS跑路,硬碟損壞,數據丟了,其中DS就丟失過好幾次數據,如果沒有備份,肯定悲劇,本文介紹一種自動備份數據的方法!
本腳本特色:
1.純zip壓縮,1-9可自行調整壓縮率
2.整台VPS備份,還原方便,非常適合站群
3.加入壓縮密碼,可以自己設置
4.加入綁米信息偽靜態壓縮,防止偽靜態弄丟
5.請確保在home目錄下有backup目錄,如果沒有請執行
mkdir
/home/backup
6.還原資料庫請參考:導入資料庫方法
最後更新時間:2012年8月25日
centos安裝zip
yum
install
zip
debian安裝zip
apt-get
install
zip
下載編輯
wget
-c
http://www.***.com/soft/beifen.sh
vi
beifen.sh
只編輯註解為需要修改的地方
【腳本開始】
#!/bin/bash
#下面的參數是你要修改的
MYsql_USER=root
#mysql用戶名
MYSQL_PASS=mysql密碼
#mysql密碼
FTP_USER=FTP用戶名
#ftp用戶名
FTP_PASS=FTP密碼
#ftp密碼
FTP_IP=FTP地址
#ftp地址
FTP_backup=FTP目錄
#ftp上存放備份文件的目錄,這個要自己得ftp上面建的
WEB_DATA=/home/wwwroot/
#要備份的網站數據
WEB_BANGMI=/usr/local/nginx/conf/
#要備份的綁米信息
WEB_MULU=/home/backup
#備份文件存放目錄
WEB_MIMA=zhujima
#備份時候的密碼
WEB_YASUOLV=1
#壓縮率
1-9
如果VPS沒有zip,請安裝zip
#上面是你要修改的地方

#刪除淘寶客緩存,屬於自定義設置。可自行操作
#rm
-rf
/home/wwwroot/1.com/Apicache/*

#定義資料庫的名字和舊資料庫的名字
DataBakName=Data_$(date
+"%Y%m%d").zip
#定義資料庫名字
WebBakName=Web_$(date
+%Y%m%d).zip
#定義備份網站名字
BANGMI=BANGMI_$(date
+%Y%m%d).zip
#定義綁米備份名字

OldData=Data_$(date
-d
-5day
+"%Y%m%d").zip
#定義5天前資料庫名字
OldWeb=Web_$(date
-d
-5day
+"%Y%m%d").zip
#定義5天前網站名字
BANGMIshan=BANGMI_$(date
-d
-5day
+"%Y%m%d").zip
#定義5天前綁米名字

#刪除本地3天前的數據
rm
-rf
$WEB_MULU/Data_$(date
-d
-3day
+"%Y%m%d").zip
$WEB_MULU/Web_$(date
-d
-3day
+"%Y%m%d").zip
$WEB_MULU/BANGMI_$(date
-d
-3day
+"%Y%m%d").zip

#導出全部資料庫
cd
$WEB_MULU
/usr/local/mysql/bin/mysqlmp
-u$MYSQL_USER
-p$MYSQL_PASS
--all-databases
>
$(date
+"%Y%m%d").sql

#壓縮資料庫文件為一個文件
zip
-r
-$WEB_YASUOLV
-P
$WEB_MIMA
$DataBakName
$WEB_MULU/*.sql
rm
-rf
$WEB_MULU/*.sql

#壓縮網站數據
cd
$WEB_DATA
zip
-r
-$WEB_YASUOLV
-P
$WEB_MIMA
$WebBakName
./*
mv
$WebBakName
$WEB_MULU/$WebBakName
cd
$WEB_MULU

#壓縮綁米信息
cd
$WEB_BANGMI
#進入綁米目錄
zip
-r
-$WEB_YASUOLV
-P
$WEB_MIMA
$BANGMI
./*
mv
$BANGMI
$WEB_MULU/$BANGMI

#上傳到FTP空間,刪除FTP空間5天前的數據
cd
$WEB_MULU
#進入備份目錄
ftp
-v
-n
$FTP_IP
<<
END
user
$FTP_USER
$FTP_PASS
type
binary
cd
$FTP_backup
delete
$BANGMIshan
delete
$OldData
delete
$OldWeb
put
$DataBakName
put
$WebBakName
put
$BANGMI
bye
END
加入許可權,寫入定時執行
chmod
777
/root/beifen.sh
crontab
-e
30
21
*
*
*
/root/beifen.sh
註:每天21:30開始備份並且上傳FTP
本文地址:http://www.zhujima.com/139.html

㈦ ftp的bat上傳腳本。我本地電腦E盤中文件夾a的全部文件,上傳至ftp伺服器的根目錄

set SCRIPT_FILE=ftpScript.txt
set SERVER_ADDR=192.168.1.10
set USER=ftpadmin
set PASSWORD=ftppass123

echo open %SERVER_ADDR% > %SCRIPT_FILE%
echo %USER% >> %SCRIPT_FILE%
echo %PASSWORD% >> %SCRIPT_FILE%
for /f %%i in ('dir /s D:') do (
echo put %%i >> %SCRIPT_FILE%
)
echo quit >> %SCRIPT_FILE%

ftp -s:%SCRIPT_FILE%
pause

保存成bat文件,找個putty試試

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

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

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

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

㈨ shell解析字元串,並且ftp傳文件的腳本

沒太看懂
不過提取記錄這部分可以用awk做

㈩ linux腳本裡面怎麼寫才能不間斷用Ftp把一個目錄里文件傳到另一個伺服器

FTP也不能自動推送文件。如果是想共享的話,linux和windows之間共享文件可以用samba,如果都是linux則可以用nfs。具體配置可以看鳥哥的私房菜。