自动备份
今天编写了一个小项目,不是很难,但是我调试花了非常多的时间,(原谅我这个小菜鸟不是很会找bug -_-||),如果有小伙伴发现错误,欢迎指出
自动备份项目
项目要求
- 具备配置文件
- 每天定时更新,并详细记录日志
- 保留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
,因为权限不够
相关阅读
知道大家时间都很宝贵,我直接把流程命令写下来,大家配置完即可,想研究原理的话就往下读 fdisk -l # 查看可
0×00 简述 沙盒(Sanbox) 是一种将未知、不可信的软件隔离执行的安全机制。恶意软件分析沙盒一般用来将不可信软件放在隔离环境
备份前我们需要ghost,在此我提供下,在压缩文件下找到ghost百度网盘:http://pan.baidu.com/s/1mh77iWS 密码:ivxq进入ghost界面以后
以下内容摘自张海藩老师《软件工程导论》课件 目录 自动取款机(ATM)系统 需求陈述 建立功能模型 建立对象模型 建立动态模型 自动取
让google.com不自动跳转到google.com.hk的方法
本文转载自:https://www.jianshu.com/p/c00e35ec4c3e如何不让 google.com 跳转到 google.com.hk ? 前言 自从google的服务器搬离