好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > linux實現對上傳文件的定時備份、增量備份的方法

linux實現對上傳文件的定時備份、增量備份的方法

熱門標簽:云南電商智能外呼系統哪家好 四川保險智能外呼系統 廈門防封電銷電話卡 高德地圖標注公司需要錢 地圖標注能更改嗎 外呼系統全國 地圖標注員有發展前景嗎 濰坊寒亭400電話辦理多少錢 宜賓銷售外呼系統軟件

介紹

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

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

下面介紹一下實現方式(linux系統環境)

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

注:在這里要贊一下這個crontab功能,確實十分實用

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

上圖所示,表明已安裝。

如果未安裝,則使用yum命令進行安裝

yum -y install vixie-cron
yum -y install crontabs

vixie-cron 是 cron 的主程序;
crontabs 是用來安裝、卸裝、或列舉用來驅動 cron 守護進程的表格的程序。

如果是內網環境,需要離線安裝的可找要離線安裝包

1.啟動:systemctl start crond.service

2.查看狀態:systemctl status crond.service

上圖所示,表明crontab已經在運行

下面貼上常用命令

systemctl start crond.service	//啟動命令
systemctl status crond.service	//查看狀態
systemctl stop crond.service	//關閉命令
systemctl restart crond.service	//重啟
systemctl enable crond.service	//開機運行

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

service crond start  //啟動服務
service crond stop  //關閉服務
service crond restart //重啟服務
service crond reload //重新載入配置
service crond status //查看crontab服務狀態

創建腳本文件

 vim backup.sh

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

#!/bin/bash
#好的做法
#根據項目不同來重命名該腳本
#例如 amountebak.sh or pandawillsbak.sh
#該腳本最好放在 $bakpp定義的絕對路徑部分
#你可以 在$bakpp下找到相應的備份文件
#例如 /usr/backup/amountebak.sh or /usr/backup/pandawillsbak.sh


########## Init Path ########
# 在下面的參數中必須定義的參數有 $bakpp、$project、$projectpp
TAR=/bin/tar
# 存放備份文件的地方,以項目名稱區分
bakpp=/data/file_backup/"$project"
# 需要備份的文件夾,文件夾的路徑
project=file
projectpp=/data/
# parament for varible
ym=`date +%Y%m`
ymd=`date +%Y%m%d`
# 存儲備份文件的子目錄,以月份區分,他的上級目錄是$bakpp定義的
monthbakpp=$bakpp/$ym
gidpp=$monthbakpp
gidshot=gid$project$ym
# 完全備份的文件名
fullname=$ym
# 增量備份的文件名
incrementalname=$ymd
# Record the location of the log
log=$bakpp/$project.log

############ chk_full #######################
# 檢查完全備份是否存在,如果不存在就創建它

#this function check fullbackup file exist or not , if not then create fullbackup now

chk_full()
{
if [ -e "$monthbakpp"/"$project"_"$ym"_full.tar.gz ];then
echo ""$project"_"$ym"_full.tar.gz file exist!! ====`date +%Y-%m-%d-%T` " >>$log
else
tar_full
fi
}
######### chk_incremental ########
# 檢查增量備份是否存在
chk_incremental()
{
while [ -e "$monthbakpp"/"$project"_"$incrementalname"_incremental.tar.gz ]
do
incrementalname=`echo "$incrementalname + 0.1" | bc `
done
}
######## tar_incremental #######
# 執行增量備份
tar_incremental()
{
cd $projectpp
echo "BEIGIN_TIME=====`date +%Y-%m-%d-%T` ==== CREATE "$project"_"$incrementalname"_incremental.tar.gz" >> $log
sleep 3
$TAR -g $gidpp/$gidshot -zcf $monthbakpp/"$project"_"$incrementalname"_incremental.tar.gz $project
echo "END_TIME========`date +%Y-%m-%d-%T` ==== CREATE "$project"_"$incrementalname"_incremental.tar.gz" >> $log
}

######## tar_full ###########
tar_full()
{
touch $gidpp/$gidshot
cd $projectpp
echo "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 $project
echo "END_TIME========`date +%Y-%m-%d-%T` ==== CREATE "$project"_"$fullname"_full.tar.gz" >> $log
}

########### backup ##############################
# 總體調用備份,此時會做相應的檢查以確保備份前提準備充分
backup()
{
if [ -d $monthbakpp ]; then
 chk_full
 chk_incremental
 tar_incremental
else
mkdir -p $bakpp/$ym
tar_full
fi
}

########### let's begin #############
# 先檢查$bakpp是否存在,如果不存在先創建后備份
if [ -d $bakpp ];then
backup
else
mkdir -p $bakpp
backup
fi
#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!命令保存文件

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

#存放備份文件的地方,以項目名稱區分
bakpp=/data/file_backup/"$project"

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

上面的三個路徑要根據自己具體情況進行更改

添加定時任務:輸入命令

crontab -e

任務示例

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

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

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

好了,到此定時備份、增量備份就結束了。

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

到此這篇關于linux實現對上傳文件的定時備份、增量備份的文章就介紹到這了,更多相關linux 上傳文件備份內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

標簽:滁州 巴彥淖爾 回訪 德州 廣安 廊坊 紅河 湛江

巨人網絡通訊聲明:本文標題《linux實現對上傳文件的定時備份、增量備份的方法》,本文關鍵詞  linux,實現,對,上傳,文件,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《linux實現對上傳文件的定時備份、增量備份的方法》相關的同類信息!
  • 本頁收集關于linux實現對上傳文件的定時備份、增量備份的方法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 欧美拳头交xxx| ??国产免费叼嘿网站免费| 慈禧太后艳史a级| 亚洲综合射| 少妇奶大下面又紧水真多| 91大战丰满人妻Av| 中国女人啪啪69xxx| 精品一区二区视频| 足鞋臭脚袜奴交小说h| 少妇寡妇婬乱精品一极大片| 国产精品柏欣彤在线观看| 风流的女管家| 公交上配合陌生人弄到高c| 国产全是老熟女太爽了| a级片免费电影| 韩国19禁的啪啪综艺节目| 国产精品久久久久影视不卡| 日本走入窗品牌介绍| 17c起草国产AV麻豆香蕉 | 一边吃奶一边插| 国产精品JIZZ在线观看樱花| 精品欧美嫩草影院永久| 性狩人| 免费一区二区| 婬乱的护士HD在线观看 | 性巴克APP| 糙汉LVL奶瘾古言| 国产精品va一区二区三区| 韩国深夜福利视频19禁AV| 欧美精品乱码99久久蜜桃| 2024最新电影免费观看| 麻豆福利影院| 夜夜操夜夜爽| 啊好爽视频| 免费高清视频免费观看| 免费国产a国产片高清| 中国又粗又大又爽的毛片| 少妇高潮露脸国语对白| 明步亚洲精品秘?一区二区三av| 迷人你的保姆免费观看| 甜性涩爱在线观看无删减 |