博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SHELL脚本自动备份Linux系统
阅读量:5937 次
发布时间:2019-06-19

本文共 1990 字,大约阅读时间需要 6 分钟。

前段时间写的使用python脚本自动备份系统文件,今天来写一个使用shell脚本增量备份系统文件,顺便复习一下shell脚本相关的命令,这个脚本可以根据自己的需求来备份不同的文件或者文件夹,进行完整备份和增量备份。直接上脚本如下:

#!/bin/sh#Automatic Backup Linux System Files#Author wugk 2013-11-22#Define VariableSOURCE_DIR=(    $*)TARGET_DIR=/data/backup/YEAR=`date +%Y`MONTH=`date +%m`DAY=`date +%d`WEEK=`date +%u`FILES=system_backup.tgzCODE=$?if    [ -z "$*" ];then    echo -e "Please Enter Your Backup Files or Directories\n--------------------------------------------\nExample $0 /boot /etc ......"    exitfi#Determine Whether the Target Directory Existsif    [ ! -d $TARGET_DIR/$YEAR/$MONTH/$DAY ];then    mkdir -p $TARGET_DIR/$YEAR/$MONTH/$DAY    echo "This $TARGET_DIR is Created Successfully !"fi#EXEC Full_Backup Function CommandFull_Backup(){if    [ "$WEEK" -eq "7" ];then    rm -rf $TARGET_DIR/snapshot    cd $TARGET_DIR/$YEAR/$MONTH/$DAY ;tar -g $TARGET_DIR/snapshot -czvf $FILES `echo ${SOURCE_DIR[@]}`    [ "$CODE" == "0" ]&&echo -e  "--------------------------------------------\nThese Full_Backup System Files Backup Successfully !"fi}#Perform incremental BACKUP Function CommandAdd_Backup(){   cd $TARGET_DIR/$YEAR/$MONTH/$DAY ;if    [ -f $TARGET_DIR/$YEAR/$MONTH/$DAY/$FILES ];then    read -p "These $FILES Already Exists, overwrite confirmation yes or no ? : " SURE    if [ $SURE == "no" -o $SURE == "n" ];then    sleep 1 ;exit 0    fi#Add_Backup Files System    if        [ $WEEK -ne "7" ];then        cd $TARGET_DIR/$YEAR/$MONTH/$DAY ;tar -g $TARGET_DIR/snapshot -czvf $$_$FILES `echo ${SOURCE_DIR[@]}`        [ "$CODE" == "0" ]&&echo -e  "-----------------------------------------\nThese Add_Backup System Files Backup Successfully !"   fielse   if      [ $WEEK -ne "7" ];then      cd $TARGET_DIR/$YEAR/$MONTH/$DAY ;tar -g $TARGET_DIR/snapshot -czvf $FILES `echo ${SOURCE_DIR[@]}`      [ "$CODE" == "0" ]&&echo -e  "-------------------------------------------\nThese Add_Backup System Files Backup Successfully !"   fifi}Full_Backup;Add_Backup

以上脚本仅供参考,还有很多需要优化、完善和调整的地方,欢迎大家提出意见。

转载地址:http://jrptx.baihongyu.com/

你可能感兴趣的文章
javap使用
查看>>
php gettext
查看>>
Linux下通过脚本自动备份Oracle数据库并删除指定天数前的备份
查看>>
练习方法--刻意练习
查看>>
多进程
查看>>
Java方式 MySQL数据库连接
查看>>
MATLAB2012 licence失效解决方法
查看>>
Android ListView初始化将实例化多少个item
查看>>
[LeetCode] Factorial Trailing Zeroes 阶乘末尾0
查看>>
消除字号标签<h1><h2><h3>的自动换行
查看>>
关于ListView的一些不常用到的属性
查看>>
php 对象数组互转
查看>>
文本超过长度后隐藏,显示省略号
查看>>
netstat常见参数
查看>>
wpf Loading动画 AkeemLoading
查看>>
Ubuntu 里面 apt-get 三个有关更新的命令的区别
查看>>
POJ 1019, Number Sequence
查看>>
activiti插件安装-离线安装
查看>>
[译]准备 2017 前端面试
查看>>
RecyclerView的刷新分页
查看>>