導航:首頁 > 操作系統 > linux備份ftp

linux備份ftp

發布時間:2023-01-26 05:28:05

A. linux中怎麼用ftp做自動備份

#!/bin/bash

#設置日誌文件,前提建好了/backup/log目錄

LogFile=/backup/log/`date +"%Y-%m"`.log

#備份源目錄

SourceDir=/cvs

#備份目標

BakDir=/backup

#保存20天過期自動刪除

RetainDay=20

#備份的內容可以寫進project.lst,如cvs目錄下有a,b,c三個目錄,project.lst填寫多少就備份多少,下面是備份的

#具體腳本,其核心是tar打包,並把重要的內容記錄到日誌文件里

B. 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

C. linux 異地備份(ftp)

創建腳本/root/script/backup.sh
# 該腳本應用於10多台普通的Linux應用伺服器,多年來從未出過差錯。
# 資料庫備份較為特殊,這里不包含資料庫備份。
# 因為腳本中含有FTP密碼,所以FTP僅給予寫許可權較為安全,FTP中的老備份的定期刪除任務由FTP伺服器完成。
# 備份加入到自動任務中,每周六23:00執行,並寫入日誌,如下:
# 追加下面語句到/etc/crontab中

# 0 23 * * 6 root /root/script/backup.sh >> /root/script/backup.log 2>&1
#有注釋版:
#!/bin/bash
#=====================================================
#author zhaoyn
#date 2010/12/31
#=====================================================
#參數設定
basedir=/opt/backup #備份存放的目錄
days=15 #備份在本地保留天數
bakfiles="/root/script /etc" #需要備份的目錄或文件,請不要使用快捷方式或通配符
ftpip=XXX.XXX.XXX.XXX #異地備份的FTP地址
ftpuser='username' #異地備份的FTP用戶名
ftppw='password' #異地備份的FTP密碼
echo =====================================================
date
cd $basedir
#刪除備份目錄中15天以前備份文件,不包含子目錄
find -maxdepth 1 -name "*.tgz" -mtime +"$days" -exec rm -f {} \;
for bakfile in $bakfiles
do
file=`basename $bakfile`
#壓縮打包需要備份的目錄,包括許可權,文件命名包含當前時間
tar -czpf "$file"_$(date +%Y%m%d-%H%M).tgz $bakfile
#大文件打包前後,緩解磁碟壓力,降低I/O錯誤概率
sleep 10s ;sync;sync
done
#通過FTP上傳當天備份的文件到異地
ftp -v -n -i $ftpip <<END
user $ftpuser $ftppw
bin
mput *$(date +%Y%m%d)*.tgz
bye
END

#無注釋版:
#!/bin/bash
#=====================================================
#author zhaoyn
#date 2010/12/31
#=====================================================
basedir=/opt/backup
days=15
bakfiles="/root/script /etc"
ftpip=XXX.XXX.XXX.XXX
ftpuser='username'
ftppw='password'
echo =====================================================
date
cd $basedir
find -maxdepth 1 -name "*.tgz" -mtime +"$days" -exec rm -f {} \;
for bakfile in $bakfiles
do
file=`basename $bakfile`
tar -czpf "$file"_$(date +%Y%m%d-%H%M).tgz $bakfile
sleep 10s ;sync;sync
done
ftp -v -n -i $ftpip <<END
user $ftpuser $ftppw
bin
mput *$(date +%Y%m%d)*.tgz
bye
END

Mysql的備份,如果凌晨可以停止幾分鍾,那麼強烈建議對Mysql執行物理備份,腳本如下
#!/bin/bash
#History
#=====================================================
#When Who What
#2010/3/24 Zhaoyn Create
#
#=====================================================

basedir=/opt/backup
updir=$basedir/updir
timenow=$(date +%Y%m%d-%H%M)

# 刪除mysql十四天前的數據,注意,這里僅刪除了mysql的tgz文件。
rm -f `find $basedir -name "mysql*.tgz" -mtime +14`

# 由於資料庫在有連接的情況下,直接對數據文件打包是可能出問題的,所以這里我們在打包前要停用資料庫,這樣直接對數據文件打包,恢復時只需解壓數據文件到新環境相應的目錄即可,默認是/var/lib/mysql
# 如果白天也要進行資料庫備份,請使用mysqlmp命令,進行在線備份。恢復也挺方便的。
/etc/rc.d/init.d/mysqld stop
sleep 5s ;sync;sync
tar -czpf $basedir/mysql.$timenow.tgz /var/lib/mysql
/etc/rc.d/init.d/mysqld start
#=====================================================
附件中的腳本文件是有DOS換行符(CR/LF)的,復制文件中的內容到SSH客戶端沒有問題,如果直接拷貝文件到Linux系統中,可先運行下面的命令:
mv *.txt *sh
dos2unix *.sh

D. linux下怎麼上傳備份文件到FTP伺服器

ftp xxx.xx.xx.x
username/password
put xxx

E. 倆台linux主機間互相備份資料庫,A如何通過ftp在B上刪除10天以上的文件

你用ftp user@server登陸過去,然後看看能不能操作
其實你用ssh是最好操作的,在B上開啟sshd服務,然後從A上登陸過去,這樣你就可以像在本地操作一樣啊

F. linux如何對整站進行備份啊,FTP好慢啊

整站備份需要先備份mysql資料庫ftp備份的是網頁文件或者附件

G. Linux制定定時備份文件到FTP伺服器的問題

crontab -u 用戶名(root)
* * * * * 每個星號表示 每分 每小時 每天 每月 每星期 如果是每天15:30廣播一次,就是
30 15 * * * wall 「hello world」

至於你自己的命令,自己看著辦吧。

H. linux伺服器備份的dmp文件可以穿到windows操作系統的ftp上嗎

可以的,但是要在ftp裡面bi一下,也就是告訴ftp用二進制傳,否則文件就錯掉了,

閱讀全文

與linux備份ftp相關的資料

熱點內容
義隆單片機視頻教程 瀏覽:383
cad安裝卡在解壓 瀏覽:615
編程精靈g540 瀏覽:256
手機文檔解壓之後解壓包去哪兒了 瀏覽:923
java中網路編程重要嗎 瀏覽:683
如何登錄別人的伺服器 瀏覽:626
調度系統軟體python 瀏覽:205
微信大轉盤抽獎源碼 瀏覽:497
壓縮機損壞的表現 瀏覽:862
同步數據伺服器怎麼用 瀏覽:634
163郵箱伺服器的ip地址 瀏覽:50
伺服器跟域是什麼 瀏覽:128
rails啟動命令 瀏覽:465
logistic命令怎麼用 瀏覽:738
c語言點滴pdf 瀏覽:747
linuxrtc編程 瀏覽:258
linux打包並壓縮命令 瀏覽:644
aes加密的證書格式 瀏覽:99
oracledbcalinux 瀏覽:844
酬勤任務app怎麼被特邀 瀏覽:199