久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術(shù)文章
文章詳情頁

linux實(shí)現(xiàn)對上傳文件的定時(shí)備份、增量備份的方法

瀏覽:73日期:2024-04-16 08:51:37

介紹

如果你們使用的是類似阿里云的OSS存儲服務(wù),那么可以使用服務(wù)提供的定時(shí)備份,這樣可以不用考慮在服務(wù)器上做文件備份。

實(shí)際上想實(shí)現(xiàn)基礎(chǔ)的備份還是非常簡單的,我們平常使用tar、unzip等命令打包文件,在這個(gè)基礎(chǔ)上編寫一個(gè)shell腳本,利用linux的crontab功能添加一個(gè)定時(shí)執(zhí)行程序,這樣就可以簡單實(shí)現(xiàn)文件備份。但是這種方式在文件量不斷增大后還行嗎?答案肯定是不行,當(dāng)文件量不斷增加,所占存儲空間增大。這種簡單的備份方式會讓壓縮時(shí)間過長,占用過多的存儲空間。那么怎么解決這一問題呢?我們可以使用增量備份來避免每一次都對所有文件進(jìn)行備份壓縮而帶來的時(shí)間和空間的問題。

下面介紹一下實(shí)現(xiàn)方式(linux系統(tǒng)環(huán)境)

在編寫腳本之前需要先查看一下服務(wù)器上是否有crontab功能

注:在這里要贊一下這個(gè)crontab功能,確實(shí)十分實(shí)用

使用 rpm -qa|grep crontab命令查看是否已安裝crontab

linux實(shí)現(xiàn)對上傳文件的定時(shí)備份、增量備份的方法

上圖所示,表明已安裝。

如果未安裝,則使用yum命令進(jìn)行安裝

yum -y install vixie-cronyum -y install crontabs

vixie-cron 是 cron 的主程序;crontabs 是用來安裝、卸裝、或列舉用來驅(qū)動 cron 守護(hù)進(jìn)程的表格的程序。

如果是內(nèi)網(wǎng)環(huán)境,需要離線安裝的可找要離線安裝包

1.啟動:systemctl start crond.service

linux實(shí)現(xiàn)對上傳文件的定時(shí)備份、增量備份的方法

2.查看狀態(tài):systemctl status crond.service

linux實(shí)現(xiàn)對上傳文件的定時(shí)備份、增量備份的方法

上圖所示,表明crontab已經(jīng)在運(yùn)行

下面貼上常用命令

systemctl start crond.service//啟動命令systemctl status crond.service//查看狀態(tài)systemctl stop crond.service//關(guān)閉命令systemctl restart crond.service//重啟systemctl enable crond.service//開機(jī)運(yùn)行

有人用的不是systemctl命令,特此貼出service常用命令

service crond start //啟動服務(wù)service crond stop //關(guān)閉服務(wù)service crond restart //重啟服務(wù)service crond reload //重新載入配置service crond status //查看crontab服務(wù)狀態(tài)

創(chuàng)建腳本文件

vim backup.sh

寫入腳本命令(注:這個(gè)腳本是從網(wǎng)上找的,未找到原出處)

#!/bin/bash#好的做法#根據(jù)項(xiàng)目不同來重命名該腳本#例如 amountebak.sh or pandawillsbak.sh#該腳本最好放在 $bakpp定義的絕對路徑部分#你可以 在$bakpp下找到相應(yīng)的備份文件#例如 /usr/backup/amountebak.sh or /usr/backup/pandawillsbak.sh########## Init Path ######### 在下面的參數(shù)中必須定義的參數(shù)有 $bakpp、$project、$projectppTAR=/bin/tar# 存放備份文件的地方,以項(xiàng)目名稱區(qū)分bakpp=/data/file_backup/'$project'# 需要備份的文件夾,文件夾的路徑project=fileprojectpp=/data/# parament for varibleym=`date +%Y%m`ymd=`date +%Y%m%d`# 存儲備份文件的子目錄,以月份區(qū)分,他的上級目錄是$bakpp定義的monthbakpp=$bakpp/$ymgidpp=$monthbakppgidshot=gid$project$ym# 完全備份的文件名fullname=$ym# 增量備份的文件名incrementalname=$ymd# Record the location of the loglog=$bakpp/$project.log############ chk_full ######################## 檢查完全備份是否存在,如果不存在就創(chuàng)建它#this function check fullbackup file exist or not , if not then create fullbackup nowchk_full(){if [ -e '$monthbakpp'/'$project'_'$ym'_full.tar.gz ];thenecho ''$project'_'$ym'_full.tar.gz file exist!! ====`date +%Y-%m-%d-%T` ' >>$logelsetar_fullfi}######### chk_incremental ######### 檢查增量備份是否存在chk_incremental(){while [ -e '$monthbakpp'/'$project'_'$incrementalname'_incremental.tar.gz ]doincrementalname=`echo '$incrementalname + 0.1' | bc `done}######## tar_incremental ######## 執(zhí)行增量備份tar_incremental(){cd $projectppecho 'BEIGIN_TIME=====`date +%Y-%m-%d-%T` ==== CREATE '$project'_'$incrementalname'_incremental.tar.gz' >> $logsleep 3$TAR -g $gidpp/$gidshot -zcf $monthbakpp/'$project'_'$incrementalname'_incremental.tar.gz $projectecho 'END_TIME========`date +%Y-%m-%d-%T` ==== CREATE '$project'_'$incrementalname'_incremental.tar.gz' >> $log}######## tar_full ###########tar_full(){touch $gidpp/$gidshotcd $projectppecho 'BEIGIN_TIME=====`date +%Y-%m-%d-%T` ==== CREATE '$project'_'$fullname'_full.tar.gz' >> $log$TAR -g $gidpp/$gidshot -zcf $monthbakpp/'$project'_'$fullname'_full.tar.gz $projectecho 'END_TIME========`date +%Y-%m-%d-%T` ==== CREATE '$project'_'$fullname'_full.tar.gz' >> $log}########### backup ############################### 總體調(diào)用備份,此時(shí)會做相應(yīng)的檢查以確保備份前提準(zhǔn)備充分backup(){if [ -d $monthbakpp ]; then chk_full chk_incremental tar_incrementalelsemkdir -p $bakpp/$ymtar_fullfi}########### let’s begin ############## 先檢查$bakpp是否存在,如果不存在先創(chuàng)建后備份if [ -d $bakpp ];thenbackupelsemkdir -p $bakppbackupfi#advice you can create a file for put backup file, eg /usr/cctcc#crontab#mini hours day month week command# */5 * * * * /home/mmroot/zbb/aaa.sh# 0 1 */1 * * /home/mmroot/zbb/aaa.sh# tar -ztf test.tar.gz 查看備份文件里面的文件

使用wq!命令保存文件

這個(gè)腳本文件有三處地方需要注意一下:

#存放備份文件的地方,以項(xiàng)目名稱區(qū)分bakpp=/data/file_backup/'$project'

#需要備份的文件夾,文件夾的路徑project=fileprojectpp=/data/

上面的三個(gè)路徑要根據(jù)自己具體情況進(jìn)行更改

添加定時(shí)任務(wù):輸入命令

crontab -e

任務(wù)示例

05 03 * * * cd /data/file_backup/;sh file_backup.sh

然后使用 crontab -l 查看即可。在備份完成后,可使用命令查看備份文件里面的文件

tar -ztf file.tar.gz //查看備份文件面文件

好了,到此定時(shí)備份、增量備份就結(jié)束了。

特此說明:更安全的方式是另找一個(gè)服務(wù)器做文件備份存儲服務(wù)器。在本機(jī)完成定時(shí)備份、增量備份后,將文件推送到文件備份存儲服務(wù)器。這樣可以保證在磁盤損壞的情況下達(dá)到備份功能

到此這篇關(guān)于linux實(shí)現(xiàn)對上傳文件的定時(shí)備份、增量備份的文章就介紹到這了,更多相關(guān)linux 上傳文件備份內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Linux系統(tǒng)
相關(guān)文章:
主站蜘蛛池模板: 亚洲社区在线 | 日本久久视频 | 国产高潮失禁喷水爽网站 | 欧美不卡视频一区发布 | 超碰导航 | 国产成人精品一区二区三区视频 | 欧美亚洲三级 | 国产精品一区二区三区免费视频 | 国产最新精品视频 | 国厂黄色片 | 中文字幕亚洲欧美日韩在线不卡 | 日韩成年人视频 | 中文字幕黄色 | 一区二区三区回区在观看免费视频 | 视频一区在线播放 | 日本久久久一区二区三区 | 欧美色综合 | 国产一区二区视频在线观看 | 91高清视频在线观看 | 97伦理电影网 | 国产欧美在线观看 | 99国产精品久久久久久久久久 | 电影91久久久 | 日韩日b视频 | 欧美精品一区在线发布 | 成人国产在线 | 99久久精品一区二区成人 | 中文久久 | 久久国产精品一区二区三区 | 欧美一级视频在线观看 | 日韩福利一区二区 | 91一区| 成人免费高清 | 黄色永久网站 | 国产成人综合在线 | 亚洲综合无码一区二区 | 欧美精品1区2区3区 精品国产欧美一区二区 | 91视频网址 | 国内精品视频一区 | 日本不卡高字幕在线2019 | 嫩草视频在线观看免费 |