必威体育Betway必威体育官网
当前位置:首页 > IT技术

自动备份项目

时间:2019-10-02 17:15:26来源:IT技术作者:seo实验室小编阅读:63次「手机版」
 

自动备份

今天编写了一个小项目,不是很难,但是我调试花了非常多的时间,(原谅我这个小菜鸟不是很会找bug -_-||),如果有小伙伴发现错误,欢迎指出

自动备份项目

 项目要求

  1. 具备配置文件
  2. 每天定时更新,并详细记录日志
  3. 保留3天的备份数据

配置文件要求

1.包含需要备份的路径形式:path1:path2:path3

2.目标目录:打包到的安全目录

详细代码

1.建立配置文件.XX.rc (例如:.gaoy_back.rc)

back_path=/home/gaoyu/luogu:/home/gaoyu/practice    #要备份的路径(可多个)
dest_dir=/data    #备份文件或目录的目标目录
log=/var/log/back.log  #日志文件

2.建立日志文件

这里写图片描述

3.建立备份文件或目录的目标目录

这里写图片描述

4.编写脚本文件

#!/bin/bash 
. /home/gaoyu/shell/Automatic_backup_project/.gaoy_back.rc   #运行配置文件.gaoyu_back.rc  要写绝对路径,要后面不会出错

time_now=`date +"%Y-%m-%d %H:%M"`     #当前日期
time_file=`date +"%Y_%m_%d_%H_%M"`    #以分钟作为更改

if [[ ! -d $dest_dir  ]];then  #如果没有备份文件的目标文件,输出错误(要先在根目录建立一个dest_dir目录(名字根据.gaoyu_back.rc), 否则会一直输出错误)
    echo -e "$ time_now \033[31;32m[ERROR]\033[0m The Dest dir $dest_dir not exists" >> $log
    exit
fi
echo "$time_now backup started!" >> $log   #输出提示信息开始备份,重定向到日志文件

for i in `echo $back_path | tr ":" "\n"`;do  #将.gaoyu_back.rc内输入的多个路径分离开(tr命令),并遍历每个路径
    if [[ ! -d $i  ]];then  #路径为空,输出错误信息,并跳出本次循环,并遍历下一个路径
        echo -e "%time_now backup [Error] The dir $i not exist" >> $log
        continue
    fi
    echo "$i started"
    file_name=`echo $i | cut -d '/' -f "2-" | tr '/' '-'`   #将路径当做目录名(将路径的'/'变成'-')
    file_name=${file_name}_${time_file}.tar.gz        #压缩后的目录名
    tar -czPf ${dest_dir}/${file_name} $i         #压缩目录
    if [[ $? -eq 0  ]];then
        size=`du -h ${dest_dir}/${file_name} | cut -f 1`
        echo -e "$time_now backup $i --> $file_name +${size}M" >> $log
    else
        echo "$time_now [Eorror] " >> $log
    fi
done
Del_list=`find $dest_dir -name "*.tar.gz" -mmin +3`  #三分钟遍历一次备份文件

for i in $Del_list;do
    size=`du -h $i | cut -f 1`
    rm -f $i
    echo -e "$time_now delete $i --> remove -${size}" >> $log #删除备份文件,并记录到日志里

    done

5.运行结果

**运行脚本要用sudo ./back.sh,因为权限不够

这里写图片描述

相关阅读

linux如何mount挂载磁盘并设置开机自动mount

知道大家时间都很宝贵,我直接把流程命令写下来,大家配置完即可,想研究原理的话就往下读 fdisk -l # 查看可

自动化恶意软件分析系统Cuckoo安装、配置详解

0×00 简述  沙盒(Sanbox) 是一种将未知、不可信的软件隔离执行的安全机制。恶意软件分析沙盒一般用来将不可信软件放在隔离环境

手动ghost备份系统的方法

备份前我们需要ghost,在此我提供下,在压缩文件下找到ghost百度网盘:http://pan.baidu.com/s/1mh77iWS   密码:ivxq进入ghost界面以后

自动取款机(ATM)系统。

以下内容摘自张海藩老师《软件工程导论》课件 目录 自动取款机(ATM)系统 需求陈述 建立功能模型 建立对象模型 建立动态模型 自动取

让google.com不自动跳转到google.com.hk的方法

本文转载自:https://www.jianshu.com/p/c00e35ec4c3e如何不让 google.com 跳转到 google.com.hk ? 前言 自从google的服务器搬离

分享到:

栏目导航

推荐阅读

热门阅读