返回顶部
首页 > 资讯 > 精选 >使用shell怎么实现周期差量备份文件夹
  • 523
分享到

使用shell怎么实现周期差量备份文件夹

2023-06-09 12:06:19 523人浏览 八月长安
摘要

这篇文章将为大家详细讲解有关使用shell怎么实现周期差量备份文件夹,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。shell脚本备份创建备份脚本backup.sh#!/bin/sh 

这篇文章将为大家详细讲解有关使用shell怎么实现周期差量备份文件夹,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

shell脚本备份

创建备份脚本

backup.sh

#!/bin/sh #$# 参数个数#提示说明if [ $# -lt 3 ]; thenecho "=============================================="echo "Usage:   $0 ( commands ... )" echo "commands:" echo "example:" echo " > $0 bakDir bakAllName oriDirOrFile" echo " bakDir:备份文件件" echo " bakAllName:完整备份的名称" echo " oriDirOrFile:源文件或者文件夹"echo "==============================================" exit -1fi#将参数赋值给变量 = 两边不能有空格bakdir="$1"bakName="$2"bakAllName="$2.tar.gz"oriDirOrFile="$3"#保存天数 默认7天超过指定天数重新 全量备份if [ -n $4 ];then  bakDays=7else  bakDays=$4fiecho $bakAllNameecho $bakdir#判断全量备份文件是否存在if [ ! -f "$bakdir$bakAllName" ];then  #如果没有全量备份份文件  echo "--------all-bak---------"  bakdir=$bakdir$bakAllName  zl=""else  #已经备份了全量  #获取全量备份的时间  bakAllDate="`ls --full-time $bakdir$bakAllName |cut -d ' ' -f 6`"  #获取当前时间  nowDate=`date "+%Y-%m-%d"`  #算出时间差单位是秒  senconds=$(($(date +%s -d $nowDate) - $(date +%s -d $bakAllDate)));  #计算出天  day=$(($senconds/60/60/24))  #增量备份但是超过备份时间需要跟新全量的备份  if [ $day -gt $bakDays ];then    echo "备份时间已经超过备份周期了"    bakdir=$bakdir$bakAllName  else    echo "还没超过备份周期"    echo " temp-bak"      #增量备份文件地址      tempDir="$bakdir$bakName`date '+%m-%d'`.tar.gz"      #获取全量备份文件的日期      compareDate="`ls --full-time $bakdir$bakAllName |cut -d ' ' -f 6`"      echo "$compareDate"      #获取全量备份文件的时间      compareTime="`ls --full-time $bakdir$bakAllName |cut -d ' ' -f 7`"      echo "$comcompareTime"      #shell 格式转换成yyyy-MM-dd HH:mm:ss      compareTime=`date -d $compareTime "+%F %T"`      echo "$compareTime"      #差量备份比较时间基准      zl="-N "$compareTime""      bakdir=$tempDir  fifiecho "--------start-bak---------"echo $zlecho "$bakdir"#使用tar差量打压缩包tar "$zl" -czvf $bakdir $oriDirOrFile

创建任务调度

创建可执行文件

touch execBakUp.shchmod u+xrw execBakUp.sh

添加内容

  • sh backup.sh /opt/bak/ TomcatTest /home/oriDir 5

  • /opt/bak/:你的备份需要放置的位置

  • tomcatTest:你的备份名称

  • /home/oriDir:需要备份的文件夹

  • 备份周期

编辑任务调度
crontab -e
秒 时 日 月 周
0 02 * * * sh /opt/execBakUp.sh >> $(date "+%Y-%m-%d".log)
每天凌晨 2点 执行execBakUp.sh

说明

参数说明:

  • $#:添加的参数个数。

  • $1~$n:添加到Shell的各参数值

  • $0:Shell本身的文件名

  • $*和$@:传递给脚本或函数的所有参数。

增量备份:

tar -cvzf text.tar.gz /bak -N i_time

i_time是时间点

获取文件时间:

ls --full-time $bakdir$bakAllName |cut -d ' ' -f 6
  • ls --full-time text.txt:显示文件完整时间

  • cut -d ' ' -f 6空格分隔 显示第6列

关于使用shell怎么实现周期差量备份文件夹就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

--结束END--

本文标题: 使用shell怎么实现周期差量备份文件夹

本文链接: https://lsjlt.com/news/256052.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 使用shell怎么实现周期差量备份文件夹
    这篇文章将为大家详细讲解有关使用shell怎么实现周期差量备份文件夹,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。shell脚本备份创建备份脚本backup.sh#!/bin/sh ...
    99+
    2023-06-09
  • shell周期差量备份文件夹的实现代码
    shell脚本备份 创建备份脚本 backup.sh #!/bin/sh #$# 参数个数 #提示说明 if [ $# -lt 3 ]; then echo "=========================...
    99+
    2022-06-04
    shell周期差量备份 shell 备份文件夹
  • 怎么使用linux命令备份文件夹
    这篇文章主要介绍“怎么使用linux命令备份文件夹”,在日常操作中,相信很多人在怎么使用linux命令备份文件夹问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用linux命令备份文件夹”的疑惑有所帮助!...
    99+
    2023-07-02
  • 怎么用python实现文件备份
    这篇文章主要介绍“怎么用python实现文件备份”,在日常操作中,相信很多人在怎么用python实现文件备份问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用python实现文件备份”的疑惑有所帮助!接下来...
    99+
    2023-06-29
  • 如何使用vbs实现文件备份
    这篇文章主要为大家展示了“如何使用vbs实现文件备份”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用vbs实现文件备份”这篇文章吧。objs = "c:\aa...
    99+
    2023-06-08
  • 如何使用Xcopy实现海量文件复制和备份
    这篇文章给大家分享的是有关如何使用Xcopy实现海量文件复制和备份的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。首先,Xcopy是什么Xcopy是一个Windows自带的复制文件和目录的工具,可以复制子目录,是个...
    99+
    2023-06-08
  • oracle怎么用命令备份表数据到文件夹
    是的,可以通过 oracle 命令将表数据备份到文件夹中:创建目录对象,指定文件夹路径。使用 expdp 命令,指定导出目录、用户名、密码和要导出的表。查看导出的文件,即可在指定文件夹中...
    99+
    2024-05-13
    oracle
  • Python实现批量压缩文件/文件夹zipfile的使用
    目录【Python压缩文件夹】导入“zipfile”模块【python压缩文件】导入“zipfile”模块补充zipfile是python里用来做zip格式编码的压缩和解压缩的,由于...
    99+
    2024-04-02
  • Python怎么使用sftp实现传文件夹和文件
    小编给大家分享一下Python怎么使用sftp实现传文件夹和文件,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的脚本语言,其最初的设计是...
    99+
    2023-06-14
  • 怎么用批处理实现文件备份器V2.3
    这篇文章将为大家详细讲解有关怎么用批处理实现文件备份器V2.3,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。代码如下:@echo off ::::::::::::::::::::::::::::...
    99+
    2023-06-09
  • Shell中怎么实现递归删除空文件夹
    Shell中怎么实现递归删除空文件夹,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。代码如下:#!/bin/bash# author: 十年后的卢哥哥# des:...
    99+
    2023-06-09
  • Linux中怎么使用shell删除文件夹下所有文件
    在Linux中,可以使用以下命令来删除文件夹下的所有文件:1. 使用rm命令删除文件夹下的所有文件,但保留文件夹本身:```rm /...
    99+
    2023-08-08
    Linux shell
  • 怎么用vbs实现服务器文件备份办法压缩文件名自动按日期命名
    小编给大家分享一下怎么用vbs实现服务器文件备份办法压缩文件名自动按日期命名,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!简单的服务器文件备份办法压缩文件名自动按...
    99+
    2023-06-08
  • 使用shell脚本怎么遍历文件夹内所有的文件
    这期内容当中小编将会给大家带来有关使用shell脚本怎么遍历文件夹内所有的文件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1.这里写一个函数,实现对文件夹内所有文件名的读取,采用的方法是递归!#!/bi...
    99+
    2023-06-09
  • Python怎么实现遍历包含大量文件的文件夹
    本篇内容主要讲解“Python怎么实现遍历包含大量文件的文件夹”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python怎么实现遍历包含大量文件的文件夹”吧!在处理大模型的训练数据时,经常需要遍...
    99+
    2023-07-06
  • 怎么用批处理实现的创建带日期的文件夹
    这篇文章主要介绍怎么用批处理实现的创建带日期的文件夹,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!核心代码:代码如下:@echo off md "照片%date:~0,4%%d...
    99+
    2023-06-08
  • Linux下怎么使用BUP备份网页文件
    这篇文章主要介绍“Linux下怎么使用BUP备份网页文件”,在日常操作中,相信很多人在Linux下怎么使用BUP备份网页文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux下怎么使用BUP备份网页文件...
    99+
    2023-06-13
  • shell中怎么利用iconv实现批量文件转码
    shell中怎么利用iconv实现批量文件转码,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。例子一:使用shell脚本实现批量转码的操作。#!/bin/sh #c...
    99+
    2023-06-09
  • 怎么使用JavaScript实现保存文件夹功能
    这篇“怎么使用JavaScript实现保存文件夹功能”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使用JavaScrip...
    99+
    2023-07-06
  • 怎么使用shell批量重命名文件
    要使用shell批量重命名文件,可以使用for循环结合mv命令来实现。以下是一个简单的示例: 假设要将所有以.txt结尾的文件批量重...
    99+
    2024-03-07
    shell
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作