IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux使用shell脚本实现增量备份文件、Linux合并历史备份文件、Linux中find命令查询、tar -cvzf文件生成压缩包、Linux压缩包合并 -> 正文阅读

[系统运维]Linux使用shell脚本实现增量备份文件、Linux合并历史备份文件、Linux中find命令查询、tar -cvzf文件生成压缩包、Linux压缩包合并

#!bin/bash

#数据存储的地址
dataPath='opt/zndz/bin/logs/';
#查询存储地址中两天内修改或创建的文件,${dataPath}前面加上/是因为存储路径中没有带上opt前面没有/
findDataPaths=`find /${dataPath}  -ctime -2 -type f`
#临时目录,用于保存
temp_path='/opt/temp_backups/';
#创建临时文件目录
sudo mkdir -p ${temp_path}
#开始循环处理查询到的文件
for path in ${findDataPaths}
do
        #创建临时存储目录,用于下方复制使用
        sudo mkdir -p ${temp_path}${path%/*}
        #将查询到的文件复制到新建目录中
        sudo cp ${path} ${temp_path}${path%/*}
        echo ${path%/*} #打印文件路径
        echo ${path##*/} #打印文件名字
done;
#获取上一次备份的文件压缩文件
oldTarPath=`find /opt/ -name '*backup.tar'`
#创建时间,用于压缩包命名
createTime=$(date +%Y%m%d)-$(date +%H%M%S);
#进入临时存储文件目录
cd ${temp_path}
#新备份文件的名字
newBackupPath='/opt/logs-'${createTime}'-backup.tar'
#将删选的数据生成压缩包,前段是压缩包命名,后段是数据存放地址
sudo tar -cvzf ${newBackupPath}  ${dataPath}
#删除临时存放目录
sudo rm -rf ${temp_path}
#如果没有老文件则不合并,有则使用cat进行合并压缩包
if [ ! -n "$oldTarPath" ]; then
  echo '没有发现历史压缩包'
else
  #这里使用cd切换目录是为了防止出现 sudo: unable to resolve current working directory
  cd /${dataPath}
  #合并文件时间
  mergeTime=$(date +%Y%m%d)-$(date +%H%M%S)
  #生成合并的新压缩包
  sudo cat ${oldTarPath} ${newBackupPath} > /opt/logs-${mergeTime}-backup.tar
  #这里使用cd切换目录是为了防止出现 sudo: unable to resolve current working directory
  cd /${dataPath}
  #删除上个版本老备份数据
  sudo rm -f ${oldTarPath}
  #删除合成前的新备份数据
  sudo rm -f ${newBackupPath}
fi

1、没有历史备份文件执行后效果如下
在这里插入图片描述
2.1、有历史备份的执行,为了方便查看,本次执行注释掉了历史版本的删除
在这里插入图片描述
执行后会生成三个压缩包,第一个是历史备份文件,第二个是本次备份文件,第三个是合并后的备份文件
在这里插入图片描述
2.2、有历史备份的执行,本次执行没有注释掉删除历史版本,图一是执行前,图二是执行后
在这里插入图片描述
在这里插入图片描述

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-05-14 10:14:48  更:2022-05-14 10:15:55 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年9日历 -2024/9/29 7:37:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码