日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

scp 定時備份30天

 0璇璣玉衡0 2019-06-10

主機內部和主機之間的數(shù)據(jù)備份和轉移是我們最長做的事情了,如果有web server那么可以 直接 wget http://www./x.zip即可,如果有ftp server時,可以使用ftp命令上傳下載,如果二者都沒有的話,scp命令就有用武之地了。

scp簡介

scp是secure copy的簡寫,scp是linux系統(tǒng)下基于ssh登陸進行安全的遠程文件拷貝命令。和它類似的命令有cp,不過cp只是在本機進行拷貝不能跨服務器,而且scp傳輸是加密的

scp命令基本格式

1scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
2[-l limit] [-o ssh_option] [-P port] [-S program]
3[[user@]host1:]file1 [...] [[user@]host2:]file2

常用參數(shù)

1-P #port  注意是大寫的P, SSH的端口號(默認22可以省略)
2-v  #用來顯示進度 . 可以用來查看連接 , 認證 , 或是配置錯誤 .
3-C #允許壓縮
4-r  #遞歸復制整個目錄

常用方法

1#從 本地服務器 復制到 遠程服務器
2#scp [可選參數(shù)] 本地文件/目錄 遠程用戶名@遠程地址:遠程文件/目錄
3 
4#本地文件backup.zip發(fā)送到遠程backup目錄下
5scp /home/backup.zip root@ip:/home/others/backup
6 
7#本地文件backup.zip發(fā)送到遠程并改名為otherbackup.zip
8scp /home/backup.zip root@ip:/home/others/otherbackup.zip
9 
10#將本地backup整個復制到遠程/home/others下
11scp  -r /home/backup root@ip:/home/others
12 
13#從 遠程服務器 復制到 本地服務器
14#scp [可選參數(shù)] 遠程用戶名@遠程地址:遠程文件/目錄 本地文件/目錄
15#同理,只不過遠程的寫在前面

執(zhí)行后,系統(tǒng)會要求輸入遠程SSH的登錄密碼(ps:上面命令中,遠程用戶名@,可以省略,這樣執(zhí)行后系統(tǒng)就是要求輸入用戶名和密碼),同樣可以使用密匙對的方式登錄,方法參照Windows下Puty SSH公鑰驗證實現(xiàn)免密碼登陸詳細圖文教程

將生成的公鑰id_rsa.pub改名為authorized_keys,并上傳到遠程服務器的~/.ssh/下,私鑰留著本地服務器。這樣在執(zhí)行上面命令后,就不需要密碼了

定時備份方法

在建立密匙對方式登錄后,我們可以在腳本中利用scp命令進行備份,利用crontab來定時執(zhí)行

1#!/bin/sh
2backpath=/backup/   #本地備份目錄
3date=`date +%y%m%d`
4site=sitename
5tar zcf ${backpath}${site}'-'${date}.tar.gz /var/html/www/${site}  #壓縮網(wǎng)站數(shù)據(jù),并以網(wǎng)站名-時間方式命名
6scp ${backpath}${site}'-'${date}.tar.gz root@ip:/var/backup #上傳到遠程服務器/var/backup中
7find ${backpath} -mtime +30 -exec rm {} \;  #刪除本地備份目錄超過30天前的數(shù)據(jù)

======================================================================================

==========================================bash============================================

======================================================================================

網(wǎng)站數(shù)據(jù)是一個網(wǎng)站的最重要的一部分,因為保護好我們的網(wǎng)站數(shù)據(jù)成為建站規(guī)劃的首要任務。godaddy的名費空間由于一個超大的廣告,很少有人用來做站,不過我們可以把網(wǎng)站數(shù)據(jù)上傳到這個免費空間。
創(chuàng)建數(shù)據(jù)備份腳本

1、登錄SSH,創(chuàng)建文件backup.sh

vi /root/backup.sh

2、粘貼以下代碼到backup.sh,并保存。
注釋:/home/backup為本地服務器存放備份文件的目錄,可以自由更改。
DataBakName:數(shù)據(jù)庫文件名
WebBakName:網(wǎng)站數(shù)據(jù)文件名
OldData  ?。何逄旌蟮淖詣觿h除的數(shù)據(jù)庫文件
OldWeb   :五天后的自動刪除的網(wǎng)站數(shù)據(jù)文件

#!/bin/bash
cd /home/backup
#定義數(shù)據(jù)庫的名字和舊數(shù)據(jù)庫的名字
DataBakName=Data_$(date +'%Y%m%d').tar.gz
WebBakName=Web_$(date +%Y%m%d).tar.gz
OldData=Data_$(date -d -5day +'%Y%m%d').tar.gz
OldWeb=Web_$(date -d -5day +'%Y%m%d').tar.gz
#刪除本地3天前的數(shù)據(jù)
rm -rf /home/backup/Data_$(date -d -3day +'%Y%m%d').tar.gz
#導出mysql數(shù)據(jù)庫
/usr/local/mysql/bin/mysqldump -u root -p123456 zhumaohai > /home/backup/zhumaohai.sql
#壓縮數(shù)據(jù)庫
tar zcf /home/backup/$DataBakName /home/backup/*.sql
#刪除sql文件
rm -rf /home/backup/*.sql
#壓縮網(wǎng)站數(shù)據(jù)
tar zcvf /home/backup/$WebBakName /home/wwwroot
#上傳到FTP空間,刪除FTP空間5天前的數(shù)據(jù)
ftp -v -n 8.8.8.8 << END
user gdftpuser 123456
type binary
cd backup
delete $OldData
delete $OldWeb
put $DataBakName
put $WebBakName
bye
END

3、為backup.sh添加執(zhí)行權限。

chmod +x /root/backup.sh

添加腳本至crontab(自動啟動程序)

執(zhí)行命令crontab -e,添加每天0點10分啟動代碼

10 00 * * * /root/backup.sh

測試腳本

執(zhí)行腳本backup.sh

./backup.sh

稍等片刻,登錄godaddy免費空間的FTP,看是否已經(jīng)成功上傳了備份文件,如果存在,證明腳本已經(jīng)設置正確。否則,認真檢查FTP信息是否設置正確。

這個腳本可以設置刪除多少天前的數(shù)據(jù),所以就不用擔心免費空間的容量不足的問題。

轉載請標明文章來源:《http://www./2011/03/vps-auto-backup-godaddy/》

======
tar zcf ${site}.tar.gz /home/${site}
==================================網(wǎng)站sh===================================================
#!/bin/sh
backpath=/backup/ #本地備份目錄
date=`date +%y%m%d`
site=sitename
tar zcf ${backpath}${site}'-'${date}.tar.gz /home/${site} #壓縮網(wǎng)站數(shù)據(jù),并以網(wǎng)站名-時間方式命名
scp ${backpath}${site}'-'${date}.tar.gz root@ip:/var/backup #上傳到遠程服務器/var/backup中
find ${backpath} -mtime +30 -exec rm {} \; #刪除本地備份目錄超過30天前的數(shù)據(jù)

===================================================================================================


Linux(Centos)全自動異地備份數(shù)據(jù)(WEB+Mysql)
來源:我愛共享 作者:車仔 日期:2013-04-19 點擊次數(shù) 88

文章開始之前,先問下各位站長一個問題:什么東西對于站長是十分重要的?其實對于站長而言,很多東西都是很重要的。但我們現(xiàn)在排除外在因素,把范圍縮小到網(wǎng)站系統(tǒng)本身,哪些是非常重要的呢?網(wǎng)站數(shù)據(jù)就是其中之一了。

網(wǎng)站數(shù)據(jù)包括程序文件本身、網(wǎng)站運行過程中不斷產(chǎn)生的附件數(shù)據(jù)(圖片、文檔、視頻等)以及數(shù)據(jù)庫文件,三大塊總括為網(wǎng)站數(shù)據(jù)。

以自己為例,在這兩年多的站長經(jīng)歷來看,最讓我痛苦的就是某一天起床,一直苦心經(jīng)營的網(wǎng)站打不開了,檢查過DNS也正常,最后詢問空間運營商發(fā)生什么事了,獲知的結果系:服務器硬盤損壞,所有數(shù)據(jù)無法恢復(在這備注下:一般小站長買的機器或者空間都很低配置的,所以別想有什么數(shù)據(jù)備份服務,要就加錢買),結果就是一陣陣的失落。如果網(wǎng)站剛上線運行不久就發(fā)生這樣的事或者還不會那么心痛,從頭再來也不難。假如是一個運行若干年的網(wǎng)站,突然發(fā)生這么一次意外就可以說是重重一擊。

剛成為站長的前幾個月,我對數(shù)據(jù)備份這個事情壓根沒考慮過,直到有一天在群里看到有位群友痛心的經(jīng)歷——網(wǎng)站徹底崩潰,數(shù)據(jù)全沒?。∧鞘墙?jīng)營了3年多的一個老站,就么倒下了,真是聞者傷心聽者落淚(有點夸張了)。

我看到了這樣活生生的樣板,不做數(shù)據(jù)備份的后果很嚴重。所以我現(xiàn)在總結出一個經(jīng)驗:如果真要用心做一個網(wǎng)站,就一定要做好數(shù)據(jù)備份工作,而且最好能異地備份,有些朋友以為在機器本地做了備份就樂了,放心了,那就大錯。對于備份數(shù)據(jù),又要面臨一個實際的問題:每次都自己上服務器把相關的數(shù)據(jù)打包,然后再用FTP下載回來嗎?這樣時間長了就會累,所以今天就以Linux(Centos 5.5)環(huán)境講講如何實現(xiàn)全自動遠程(異地)對全站數(shù)據(jù)進行備份。

要實現(xiàn)自動遠程備份功能需要的關軟件有:服務器(本地環(huán)境)要安裝lftp,遠程端要開啟FTP服務,對登錄的目錄有讀寫權限,具備以上2個條件即可。

如果機器上沒有安裝lftp這個工具,可以通過以下命令完成:

#yum install lftp

假設把相關的腳本文件存放在/apps/script目錄下

#vi /apps/script/autobackup.sh //輸入以下內容

#!/bin/bash

#author: www.

echo 'backup job start'

#設置要備份的網(wǎng)站目錄,即是網(wǎng)站的根目錄

file=/apps/wwwdata

#設置本地備份目錄,用于存放打包后的文件

backpath=/apps/bkdata/

dbuser=數(shù)據(jù)庫用戶名

#數(shù)據(jù)密碼,要記得用單引號將把整個密碼引起來,如果密碼中有單引號就用雙引號,嘿嘿

dbpwd='數(shù)據(jù)庫密碼'

dbname=數(shù)據(jù)庫名稱

domain=遠程端的域名或者IP地址

user=FTP用戶名

userpwd='FTP用戶密碼'

bkdate=$(date +%Y%m%d)

sqlfile_sql=${dbname}_${bkdate}.sql

sqlfile_gz=${dbname}_${bkdate}.tar.gz

sqlfp=${backpath}${bkdate}/$sqlfile_sql

if [ -e $backpath${bkdate} ]

then

echo $backpath is exists.

else

mkdir -p $backpath${bkdate}

fi

#執(zhí)行數(shù)據(jù)庫備份,/apps/mysql/bin/mysqldump修改為你實際環(huán)境的路徑

/apps/mysql/bin/mysqldump -u $dbuser -p$dbpwd $dbname > ${sqlfp}

#對備份之后的數(shù)據(jù)庫文件壓縮,或者在數(shù)據(jù)庫備份時通過加入?yún)?shù)直接進行壓縮

tar zcf $backpath${bkdate}/$sqlfile_gz -C ${backpath}${bkdate} ${sqlfile_sql}

#刪除未壓縮SQL的文件

rm -f ${sqlfp}

#生成的文件名格式:web_網(wǎng)站目錄名_20130419.tar.gz

fn=web_${file##*/}_${bkdate}.tar.gz

tar zcf $backpath${bkdate}/$fn -C ${file%/*} ${file##*/}

#以下操作為FTP自動連接并把本地文件上傳到異地服務器上

/usr/bin/lftp ${domain} << END

user ${user} ${userpwd}

lcd ${backpath}

mirror -R ${bkdate}

exit

END

echo 'backup job done'

------------分隔線--------------

保存退出之后,為該腳本增加執(zhí)行權限

#chmod +x /apps/script/autobackup.sh

#crontab –e //添加定時任務,根據(jù)具體需求設定備份間隔

#0 4 1,16 * * /apps/script/autobackup.sh

我設定為每月的1日,16日的零辰4點鐘執(zhí)行備份任務。最好不要在大白天做這些操作,因為會讓整個系統(tǒng)明顯變慢的。

經(jīng)過以上配置,站長們就不用再愁數(shù)據(jù)備份的煩惱了,可以說是一勞永逸。以上僅為個人實際應用寫,跟其各自的需求可能不大一樣,但本質不變,只要稍作修改即可,如果有其它疑問歡迎大家留言交流學習。
本文地址:http://www./tech/system/368842.shtml

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多