#!/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=/apps/beifen/"$project"  
# 需要备份文件夹文件夹路径  
project=djk  
projectpp=/apps/apache-tomcat-8.5.9/webapps/vlis/ 
# 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  
# 44 11 * * * /usr/tmp/vcan.sh

# tar -ztf test.tar.gz 查看备份文件面文件

---------------------------------代码结束----------人称可爱的分割线------------------------------------------------------

将上述文件放到你要运行的文件中

vi   /usr/tmp/vlisVcan.sh

上面代码复制粘贴

根据自己需求的不同只需要修改上面代码中的三个位置

# 存放备份文件项目名称区  
bakpp=/apps/beifen/"$project"

# 需要备份文件夹和文件夹路径  
project=djk

projectpp=/apps/apache-tomcat-8.5.9/webapps/vlis/

然后在设置定时器,创建定时器文件

vi  /usr/tmp/task

填写定时器

* * * * *  命令  文件 ;

分钟 小时 天  月 星期几

例:12 12 * * * /bin/sh /root/remove.sh                 //每天12点12分执行

保存文件然后利用crontab /usr/tmp/task 使生效。

查看任务列表 crontab -l  显示你设置的定时器就ok了。

centos 7 定时备份文件夹,增量文件相关推荐

  1. windows2008 使用windows server backup定时备份文件夹和批处理脚本定时删除文件夹

    由于公司OA需要定期备份数据库文件,及定时删除超过7天的备份文件,通过windows2008自带的windows Server Backup 备份文件夹,及forfile 来定时删除超过时间的文件 由 ...

  2. linux定时备份文件到指定文件夹,Linux定时备份数据库到指定邮箱的方法

    一.配置邮箱 这里使用的是网易邮箱126邮箱的STMP服务,服务器是smtp.126.com.如果你使用其它第三方邮箱,在帐号设置那里一般都有说明SMTP服务器地址. 如果你的Ubuntu没有安装ma ...

  3. linux自动备份不同的文件夹,linux定时备份文件夹

    把一个目录下的所有文件定时备份到另一个目录. 步骤: 1.# vi /home/scripts/backup.sh # create by athlandly 2007/12/10 # shell c ...

  4. windows10中定时备份文件和清除文件

    近期需要在W10服务器中对某个文件做一个定时备份,保存一定时间后需要定时清除 方法如下: 1.新建txt文档 拷贝文件到指定位置 注释:          /e 表示 拷贝所有子目录,包括空子目录   ...

  5. python 读取文件夹 增量文件_Python实现目录文件的全量和增量备份

    目标: 1.传入3个参数:源文件路径,目标文件路径,md5文件 2.每周一实现全量备份,其余时间增量备份 1.通过传入的路径,获取该路径下面的所有目录和文件(递归) 方法一:使用os.listdir ...

  6. BAT命令用RoboCopy定期备份文件夹

    用RoboCopy定期备份文件夹 把以下命令复制到记事本,保存成bat,然后用系统自带的计划作业配置定时执行,就实现了定时备份文件夹了 再用SyncBackPro同步到ftp里面就实现了异地备份了 S ...

  7. linux实现对上传文件的定时备份、增量备份

    前言 上一章我详细介绍了上传文件至服务器路径的方法,那么上传完文件就结束了吗?显然没有. 介绍 如果你们使用的是类似阿里云的OSS存储服务,那么可以使用服务提供的定时备份,这样可以不用考虑在服务器上做 ...

  8. centos彻底删除文件夹、文件命令

    centos彻底删除文件夹.文件命令(centos 新建.删除.移动.复制等命令: 1.新建文件夹 mkdir 文件名 新建一个名为test的文件夹在home下 view source1 mkdir ...

  9. linux服务器 增量,CentOS 自动备份增量文件

    还是利用crontab功能,这个功能太实用了,赞一个先 利用人家的备份脚本: #!/bin/bash #好的做法 #根据项目不同来重命名该脚本 #例如 amountebak.sh or pandawi ...

最新文章

  1. TS中的感叹号和问号的用法
  2. C语言 整型变量的输入和输出
  3. hibernate 高级查询 query 或查询 or ,Restrictions
  4. 简单几步教你怎么在路由器上搭建PHP环境的网站
  5. 解决HDFS NameNode启动时Loading edits时间超长的问题(NameNode数据同步机制介绍)
  6. fastdfs的tracker启动之后一直选举_jraft选举策略
  7. 华为P20 Pro销售火爆卖断货?淘宝商家加价卖
  8. 小企业电脑如何组网_(完整版)中小型企业组网方案
  9. 【Flink】Flink 检查点 Triggering checkpoint createBlockoutputstream no further info information
  10. mysql 1261 load data_mysql使用load data导入数据文件
  11. linux下NFS、FTP使用讲解
  12. 持续输出|我的 2019 年
  13. 8.621 - Secret Research
  14. 疫情下企业面临的关键网络安全建设,去繁从简,保住核心安全
  15. Laravel 8.63.0 之 RabbitMQ 生产消费案例
  16. 高中英语语法(002)-否定
  17. 如何解决3G模块和USB转串口冲突问题
  18. linux系统编译dfu
  19. 14----统计字符数
  20. 微信客户管理方式及如何微信客户管理

热门文章

  1. 【教程】百度网盘小程序如何获取真实的链接和提取码
  2. 【论文研读】基于BP 神经网络的 Q235 钢力学性能预测模型
  3. Git commit 换行符问题
  4. matlab代码规范(自用)
  5. python计算机语言上课趣味_青少年Python创意编程趣味课堂(微课版)
  6. Metal(六) 案例之视频文件的渲染
  7. vb6.0可以编译c语言嘛,编译器的问题? vb6.0 VS visual studio 2012
  8. Tera-Store高速数据采集存储系统
  9. 超有创意的素材模板,摸鱼的技能又提升了
  10. C++线性代数库armadillo