首页 > 系统相关 >backup shell

backup shell

时间:2024-08-27 09:37:20浏览次数:10  
标签:bin shell Name -- dev echo backup

#!/bin/bash 

echo  "USB backup routine for copying local sondrel ZFS pool and LVM volumes to USB raid array mounted at /BackupBox"

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.7.3"


if [  -f /run/backup2.sh.pid ]; then
    echo "Pid file found in /run exiting"
    exit 1
fi

MOUNTED=$(cat /proc/mounts | grep /BackupBox)

if [ -z  "$MOUNTED" ]; then
    echo "backup box not mounted exiting"
    exit 2
fi
    

echo $$ >> /run/backup2.sh.pid

POOL="xxx"

echo "Starting with ZFS volumes"

echo " remove any old backup ZFS snapshots"
zfs destroy -r "$POOL@USB2"
echo " cleaned creating fresh ones for backup"
zfs snapshot -r "$POOL@USB2"


for LISTING in $(ls -1d /xxx/*/.zfs/snapshot/USB2)
do
    OUTPUT2=$(echo $LISTING | cut -d "." -f1 )
    OUTPUT=$(echo $OUTPUT2 | cut -d "/" -f3)
    echo "processing $OUTPUT"
    rsync -aAv  --delete-before $LISTING/  /BackupBox/$OUTPUT/    | mailx  -s "Backup volume information $OUTPUT"  [email protected]
    sync; sync; sync;

done

zfs destroy -r "$POOL@USB2"

echo "completed ZFS volumes starting LVM processes"
echo "remove all snapshots created with bk_ prefix from any failed previous backups"
for RemoveMe in $(lvs --aligned -o lv_path 2>/dev/null | grep bk_ )
do
    lvremove -f $RemoveMe 2>/dev/null

done

for VolumesToBackup in $(lvs -o lv_path,lv_name,vg_name --noheadings --separator : 2> /dev/null )
do

        Device=$(echo $VolumesToBackup | cut -d : -f 1) 
        Name=$(echo $VolumesToBackup | cut -d : -f 2)
        VolumeGroup=$(echo $VolumesToBackup | cut -d : -f 3)

        lvcreate -L100G  -n bk_$Name  -s  $Device 2> /dev/null
        mount -onouuid,ro /dev/$VolumeGroup/bk_$Name  /snapshot
    echo "backing up $Name"
        rsync -aAv  --delete-before /snapshot/  /BackupBox/$Name/ | mailx  -s "Backup volume information $Name" [email protected] 
    sync; sync; sync;
        umount /snapshot

        lvremove -f  /dev/$VolumeGroup/bk_$Name 2> /dev/null


        #lvs --aligned 2>/dev/null

done
echo "completed LVM volumes"

echo "backup complete all user data volumes rsync'd to USB BackupBox"


if [ -f /run/backup2.sh.pid ]; then
    rm /run/backup2.sh.pid
fi
exit 0

 

标签:bin,shell,Name,--,dev,echo,backup
From: https://www.cnblogs.com/abc0012383/p/18382022

相关文章

  • 18 个一线工作中常用 Shell 脚本
    1、检测两台服务器指定目录下的文件一致性2、定时清空文件内容,定时记录文件大小3、检测网卡流量,并按规定格式记录在日志中4、计算文档每行出现的数字个数,并计算整个文档的数字总数5、从FTP服务器下载文件6、连续输入5个100以内的数字,统计和、最小和最大7、监测Nginx访......
  • 华为万兆猫HN8145X6使能+补全AllShell+修改SN+E改XG+切换华为界面
    第〇部分准备工作1、查询老光猫上的LOID(电信、联通)、Password(移动)。1.1用光猫默认账号密码(详见光猫底部铭牌)访问光猫;状态-状态总览:宽带识别码(LOID):网络-远程管理-宽带识别码(LOID)认证-宽带识别码(LOID):2、记录老光猫的互联网、IPTV的默认配置数据,截图存档(建议项,一般......
  • Shell脚本学习_运算符
    目录一、算数运算符1、expr命令:2、算数运算符介绍:3、使用(()) 进行运算: 4、bc命令:1.bc中互动式的数学运算:2.非互动式的管道运算:3.非互动式的输入重定向运算:二、比较运算符 1、整数比较运算符:2、字符串比较运算符:3、[[]] 和 []的区别:三、布尔运算......
  • power shell实现文任意件夹目录名称写入指定文本文件中
    在PowerShell中,你可以使用脚本来遍历一个文件夹并将其目录名称写入到一个指定的文本文件中。以下是一个详细的步骤说明和示例脚本:步骤说明1.**打开PowerShell**:你可以通过开始菜单搜索“PowerShell”并打开它。2.**编写脚本**:使用PowerShell脚本语言编写一个脚本,该脚本将......
  • 用FinalShell远程登录VMware的Linux操作系统登陆不上,反复弹出要求输入密码的界面
    问题描述:用FinalShell远程登录VMware的Linux操作系统,其中IP地址输入正确,虚拟机和自己的电脑可以互相ping通,但是就是连接不上,反复弹出要求输入密码的界面:那么可能就是Linux登录账户的用户名和home目录下的用户名不一致导致的,解决办法如下:解决办法:1.去Linux操作系统中的终端......
  • 使用 MySQL Shell 获取 MySQL 诊断信息(译)
    收集全面的诊断信息可能会让人望而却步。知道要运行哪些查询以获取所需数据更像是一种艺术形式,而非其他什么。幸运的是,对于那些不太擅长艺术的人来说,MySQLShell使得获取这些信息变得更加容易。让我们来看一下。设置在我们开始之前,我们需要连接到一个MySQL实例。在本演示中,我......
  • 【待做】【ByPass系列】php的webshell绕过方法总结
    原创掌控安全EDU一、php的异或运算$a="~+d()"^"!{+{}"这个表示了$a=这两个字符串之间进行一个异或运算运算异或运算符,按二进制位进行异或运算这里的运算会把符号转化为ascii码,再转化为二进制,再转化为十进制进行运算,再把结果转化为ascii码通过这个转换的方式来绕过检测<......
  • 【HW系列+技战法】内存马的Webshell联合对抗技战法
    原创BeatRex的成长记录一、技战法概述二、Webshell对抗手段2.1落地文件型Webshell检测与对抗2.1无文件型内存马检测与对抗2.3Webshell免杀对抗一、技战法概述Webshell是黑客经常使用的一种后门,其目的是获得服务器的执行操作权限,常见的Webshell编写语言为A......
  • Xtrabackup全备恢复部分数据库
    背景:生产环境数据采用xtrabackup全量备份数据库,在某些场景下需要进行单个数据库恢复。以下为模拟测试用例:创建测试用表:[root@localhost][(none)]>showdatabases;+--------------------+|Database|+--------------------+|information_schema||mysql......
  • 【流量特征+webshell】蚁剑篇 · 一句话木马
    一、准备一句话<?phpeval($_POST[x]);?>打开蚁剑连接webshell二、特征分析通过抓取流量包,分析流量特征一:POST方法,一句话路径图片特征二:请求包存在固定格式字段默认格式为@ini_set("display_errors","0");@set_time_limit(0,在base64数据包中它是QGluaV9zZXQ,在chr编码数......