shell實現ftp自動備份

2021-04-15 21:02:10 字數 2134 閱讀 2037

功能:

*********************

---------------------

環境:倆臺機器都是centos4.5_x86

****************

1.ftp伺服器主機資訊

ftp伺服器主機名server

vftp服務端:vsftp-2.0.1-5.el4.5

vftp伺服器ftp目錄預設是系統使用者所在目錄

這裡的使用者為ftptest,家目錄為/home/ftptest

ip:192.168.159

ftp目錄:/home/ftptest

ftp使用者:ftptest

ftptest使用者密碼:123456

****************

2.ftp客戶端主機資訊

ftp伺服器主機名client

ftp客戶端:lftp-3.0.6-3

ip:192.168.1.153

存放目錄:/home/xiutuo/ftp

****************

3.指令碼名:lftp_bak.sh

存放在client中的/etc/目錄下

該指令碼屬xiutuo及其屬組xiutuo

# cd /etc/

# chown xiutuo:xiutuo lftp_bak.sh

你可以根據自己需要設定計畫任務

讓該指令碼自動在某時執行

****************

---------------------

為了測試方便,

請在vftp服務端ip:192.168.159機器上安裝vsftp的rpm包

在ftp客戶端ip:192.168.1.153機器上安裝lftp的rpm包

++++++++++++++++++++++++++++++++++++++++

在client主機上

# vi /etc/lftp_bak.sh

增加如下內容

#!/bin/bash

#指定ftp伺服器的ip

serverip=192.168.1.159

#指定ftp伺服器的ftp使用者

serveruser=ftptest

#指定ftp伺服器的ftp使用者密碼

serverpass=123456

localdir=/home/xiutuo/ftp

#指定server主機的ftp目錄

#remotedir=./

#指定server主機的主機名

host=`hostname`

cd $localdir

#輸入開始備份的資訊

echo "starting ftp backup on " $host

#連線ftp伺服器

/usr/bin/ftp -in

user $serveruser $serverpass

#切換到server主機的ftp目錄

#cd $remotedir

bin#列出ftp伺服器ftp目錄中檔案列表並存放到client中的$localdir中

ls . mulu.txt

verbose

mget *.* .

#列印ftp狀態

stat

#退出ftp伺服器

byeeof

echo "get the directory list ok,and get all the files once ok"

echo "begin to delte the file in the mulu.txt"

#取出client主機$localdir中的mulu.txt中的檔名

#並逐一刪除在mulu.txt的檔案

list=`cat mulu.txt | awk ''`

for filename in $list

do /usr/bin/ftp -in

user $serveruser $serverpass

binverbose

delete $filename

stat

byeend

done

echo "delete files in mulu.txt successful"

shell指令碼實現ftp自動備份

ftp命令把遠端計算機上的檔案傳輸到本地計算機時,需要和使用者互動。怎樣使互動過程自動化呢?利用here文件 bin sh ftp ivn 210.29.28.124 解釋 i 關閉多檔案傳輸過程中的互動提示,所以不會再有讓使用者輸入使用者名稱和密碼的提示 n 阻止了初始連線時的自動登入 v 將ft...

shell實現tomcat自動備份重啟

執行環境 tomcat apache tomcat version 7.0.25 server centos release 6.2 作為一名web程式設計師或測試人員,需要經常發布程式到線上環境或測試環境中。每次向線上或者測試環境發布新war包的時候,我一般都這麼做 1 put war 到 tom...

Redhat linux自動FTP傳送備份

大 中 小 列印本頁 關閉視窗 如果在crontab備份檔案後,想將檔案透過ftp傳送到其他伺服器,可以用以下方法編寫shell script bin sh ftphost ftp.server.address username ftp username password ftp password ...