Linux使用Shell指令碼實現ftp的自動上傳下載

FrankYou發表於2017-12-20

1. ftp自動登入批量下載檔案。

#####從ftp伺服器上的/home/data 到 本地的/home/databackup####
#!/bin/bash
ftp -n<<!
open 192.168.1.171
user guest 123456
binary
cd /home/data
lcd /home/databackup
prompt
mget *
close
bye
!
2. ftp自動登入上傳檔案。

####本地的/home/databackup to ftp伺服器上的/home/data####
#!/bin/bash
ftp -n<<!
open 192.168.1.171
user guest 123456
binary
hash
cd /home/data
lcd /home/databackup
prompt
mput *
close
bye
!

3. ftp自動登入下載單個檔案。
####ftp伺服器上下載/home/data/a.sh to local /home/databackup####
#!/bin/bash
ftp -n<<!
open 192.168.1.171
user guest 123456
binary
cd /home/data
lcd /home/databackup
prompt
get a.sh a.sh 
close
bye
!

4. ftp自動登入上傳單個檔案。
####把本地/home/databachup/a.sh up ftp /home/databackup 下####
#!/bin/bash
ftp -n<<!
open 192.168.1.171
user guest 123456
binary
cd /home/data
lcd /home/databackup
prompt
put a.sh a.sh 
close
bye
!


小結:把以上指令碼另存為檔案加入到crontab中即可實現ftp自動上傳、下載檔案。
註解:
1. -n 不受.netrc檔案的影響。(ftp預設為讀取.netrc檔案中的設定)
2. << 是使用即時檔案重定向輸入。
3. !是即時檔案的標誌它必須成對出現,以標識即時檔案的開始和結尾。

相關文章