电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

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

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

介紹

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

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

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

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

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

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

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

上圖所示,表明已安裝。

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

yum -y install vixie-cronyum -y install crontabs

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

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

1.啟動:systemctl start crond.service

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

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

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

上圖所示,表明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、$projectppTAR=/bin/tar# 存放備份文件的地方,以項目名稱區分bakpp=/data/file_backup/'$project'# 需要備份的文件夾,文件夾的路徑project=fileprojectpp=/data/# parament for varibleym=`date +%Y%m`ymd=`date +%Y%m%d`# 存儲備份文件的子目錄,以月份區分,他的上級目錄是$bakpp定義的monthbakpp=$bakpp/$ymgidpp=$monthbakppgidshot=gid$project$ym# 完全備份的文件名fullname=$ym# 增量備份的文件名incrementalname=$ymd# Record the location of the loglog=$bakpp/$project.log############ chk_full ######################## 檢查完全備份是否存在,如果不存在就創建它#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 ######## 執行增量備份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 ############################### 總體調用備份,此時會做相應的檢查以確保備份前提準備充分backup(){if [ -d $monthbakpp ]; then chk_full chk_incremental tar_incrementalelsemkdir -p $bakpp/$ymtar_fullfi}########### let’s begin ############## 先檢查$bakpp是否存在,如果不存在先創建后備份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!命令保存文件

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

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

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

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

添加定時任務:輸入命令

crontab -e

任務示例

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

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

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

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

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

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

標簽: Linux系統
相關文章:
主站蜘蛛池模板: 二手Sciex液质联用仪-岛津气质联用仪-二手安捷伦气质联用仪-上海隐智科学仪器有限公司 | 焊管生产线_焊管机组_轧辊模具_焊管设备_焊管设备厂家_石家庄翔昱机械 | 品牌设计_VI设计_电影海报设计_包装设计_LOGO设计-Bacross新越品牌顾问 | 熔体泵|换网器|熔体齿轮泵|熔体计量泵厂家-郑州巴特熔体泵有限公司 | 汽液过滤网厂家_安平县银锐丝网有限公司 | 酒吧霸屏软件_酒吧霸屏系统,酒吧微上墙,夜场霸屏软件,酒吧点歌软件,酒吧互动游戏,酒吧大屏幕软件系统下载 | 集装箱箱号识别_自重载重图像识别_铁路车号自动识别_OCR图像识别 | 屏蔽服(500kv-超高压-特高压-电磁)-徐吉电气 | 陶瓷加热器,履带式加热器-吴江市兴达电热设备厂 | 小区健身器材_户外健身器材_室外健身器材_公园健身路径-沧州浩然体育器材有限公司 | 哈希PC1R1A,哈希CA9300,哈希SC4500-上海鑫嵩实业有限公司 | 依维柯自动挡房车,自行式国产改装房车,小型房车价格,中国十大房车品牌_南京拓锐斯特房车 - 南京拓锐斯特房车 | SRRC认证|CCC认证|CTA申请_IMEI|MAC地址注册-英利检测 | 高压绝缘垫-红色配电房绝缘垫-绿色高压绝缘地毯-上海苏海电气 | 食药成分检测_调料配方还原_洗涤剂化学成分分析_饲料_百检信息科技有限公司 | 沥青车辙成型机-车托式混凝土取芯机-混凝土塑料试模|鑫高仪器 | 寮步纸箱厂_东莞纸箱厂 _东莞纸箱加工厂-东莞市寮步恒辉纸制品厂 | Safety light curtain|Belt Sway Switches|Pull Rope Switch|ultrasonic flaw detector-Shandong Zhuoxin Machinery Co., Ltd | 长信科技产业园官网_西安厂房_陕西标准工业厂房 | 自动钻孔机-全自动数控钻孔机生产厂家-多米(广东)智能装备有限公司 | b2b网站大全,b2b网站排名,找b2b网站就上地球网 | 真丝围巾|真丝丝巾|羊绒围巾|围巾品牌|浙江越缇围巾厂家定制 | 超声骨密度仪-动脉硬化检测仪器-人体成分分析仪厂家/品牌/价格_南京科力悦 | 书信之家_书信标准模板范文大全 最新范文网_实用的精品范文美文网 | 立式硫化罐-劳保用品硫化罐-厂家直销-山东鑫泰鑫硫化罐厂家 | 手术示教系统-数字化手术室系统-林之硕医疗云智能视频平台 | 昆山PCB加工_SMT贴片_PCB抄板_线路板焊接加工-昆山腾宸电子科技有限公司 | 上海律师事务所_上海刑事律师免费咨询平台-煊宏律师事务所 | 拉曼光谱仪_便携式|激光|显微共焦拉曼光谱仪-北京卓立汉光仪器有限公司 | 活动策划,舞台搭建,活动策划公司-首选美湖上海活动策划公司 | 飞扬动力官网-广告公司管理软件,广告公司管理系统,喷绘写真条幅制作管理软件,广告公司ERP系统 | 基业箱_环网柜_配电柜厂家_开关柜厂家_开关断路器-东莞基业电气设备有限公司 | 济南律师,济南法律咨询,山东法律顾问-山东沃德律师事务所 | 石牌坊价格石牌坊雕刻制作_石雕牌坊牌楼石栏杆厂家_山东嘉祥石雕有限公司 | 云南丰泰挖掘机修理厂-挖掘机维修,翻新,再制造的大型企业-云南丰泰工程机械维修有限公司 | 紫外可见光分光度计-紫外分光度计-分光光度仪-屹谱仪器制造(上海)有限公司 | 比亚迪叉车-比亚迪电动叉车堆垛车托盘车仓储叉车价格多少钱报价 磁力去毛刺机_去毛刺磁力抛光机_磁力光饰机_磁力滚抛机_精密金属零件去毛刺机厂家-冠古科技 | 河南砖机首页-全自动液压免烧砖机,小型砌块水泥砖机厂家[十年老厂] | 杭州中央空调维修_冷却塔/新风机柜/热水器/锅炉除垢清洗_除垢剂_风机盘管_冷凝器清洗-杭州亿诺能源有限公司 | 江苏齐宝进出口贸易有限公司 | 长沙发电机-湖南发电机-柴油发电机供应厂家-长沙明邦智能科技 |