linux文件的增量备份 Shell命令脚本 您所在的位置:网站首页 maya脚本编辑器出错 linux文件的增量备份 Shell命令脚本

linux文件的增量备份 Shell命令脚本

2023-06-17 01:11| 来源: 网络整理| 查看: 265

简单的增量备份脚本,自己用到了之后把部分择出来记录一下,方便日后查阅

# 昨天对应的月份 n_mon=$(date -d -1day +%Y%m) # 组合文件夹路径 path=/home/admin/"$n_mon" # 昨天的0点作为增量备份起始时间,今日0点作为截止时间 s_date=$(date -d -1day +%Y-%m-%d)' 00:00:00' e_date=$(date +%Y-%m-%d)' 00:00:00' s_time=$(date -d "$s_date" +%s) e_time=$(date -d "$e_date" +%s) # 创建备份文件夹 today=$(date +%Y%m%d) mon_path=/home/admin/bak/$n_mon bak_path=$mon_path'/'$today if [ ! -d "$mon_path" ]; then mkdir -p $bak_path else mkdir $bak_path fi echo '>>> 创建文件夹:'$bak_path echo '>>> 开始备份文件。。。' s_s=$(date +%s) for file in `ls $path`; do file_path=$path'/'$file ctime=$(busybox stat -c %Y $file_path) # 比对文件的修改时间 if [ $ctime -ge $s_time ]&&[ $ctime -le $e_time ]; then cp $file_path $bak_path'/'$file fi done b_s=$(date +%s) echo '>>> 文件备份完成!(耗时:'$(($b_s - $s_s))'s)' echo '>>> 开始打包。。。' tar -zcPf /home/admin/bak/$today-bak.tar.gz $bak_path c_s=$(date +%s) echo '>>> 打包完成!(耗时:'$(($c_s - $b_s))'s)' echo '>>> 删除备份文件夹。。。' rm -rf $bak_path r_s=$(date +%s) echo '>>> 删除完成!(耗时:'$(($r_s - $c_s))'s)' echo '>>> 备份任务完成!(共耗时:'$(($r_s - $s_s))'s)' 脚本编写过程中一些问题,记录一下怕过段时间忘记: 1、脚本运行时,以下这种问题是由于脚本的内容的格式错误导致

$‘\r’: command not found for file in ls p a t h ‘ ; d o s y n t a x e r r o r n e a r u n e x p e c t e d t o k e n ‘ path`; do syntax error near unexpected token ` path‘;dosyntaxerrornearunexpectedtoken‘‘do\r’ 在这里插入图片描述 解决方法: 使用npp编辑器,依次点击工具栏中 编辑 > 文档格式转换 > 转为Unix(LF)

2、脚本中取得的时间戳和文件的修改时间,默认为秒,非毫秒


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有