首页 > 其他分享 >备份脚本

备份脚本

时间:2022-08-31 11:44:06浏览次数:50  
标签:脚本 name nangua 备份 pro echo bak dir

#!/bin/bash
#auther:don
# version: 1.0.0
pro_dir="/home/www"
pro_name_nangua="nangua"
pro_name_qingyun="qingyun"
pro_name_nangua_new="nangua_new"
pro_name_nangua_admin="nangua_admin"
bak_dir="/home/www/backup"
DATE=$(date +'%Y%m%d%H%M%S')
bak_dir_ip="35.203.135.112"
LogFile=$bak_dir/${DATE}.log
Rsync_bin="/usr/bin/rsync"
Rsync_password="/etc/rsync.password"
Rsync_user="rsync_backup"
function font
{
while (($#!=0))
do
case $1 in
-b ) echo -ne " ";;
-t ) echo -ne " ";;
-n ) echo -ne "\n";;
-black ) echo -ne "\033[30m";;
-red ) echo -ne "\033[31m";;
-green ) echo -ne "\033[32m";;
-yellow ) echo -ne "\033[33m";;
-blue ) echo -ne "\033[34m";;
-purple ) echo -ne "\033[35m";;
-cyan ) echo -ne "\033[36m";;
-gray ) echo -ne "\033[37m";;
-reset ) echo -ne "\033[0m";;
-h|-help|--help ) echo "Usage: font -color1 message1 -color2 message2 ...";
echo "eg: font -red [ -blue message1 message2 -red ]";;
* ) echo -ne "$1";;
esac
shift
done
}


function bak_code_nangua() {
test ! -d ${bak_dir} && mkdir -p ${bak_dir}
cd ${pro_dir}
tar -czf ${bak_dir}/${pro_name_nangua}_${DATE}.tar.gz ${pro_name_nangua} --exclude=${pro_name_nangua}/runtime/*
echo "${bak_dir}/${pro_name_nangua}_${DATE}.tar.gz"
cd ${bak_dir} && find ${bak_dir} -mtime +5 |grep ".gz"|xargs rm -f

}


function bak_code_qingyun(){
test ! -d ${bak_dir} && mkdir -p ${bak_dir}
cd ${pro_dir}
tar -czf ${bak_dir}/${pro_name_qingyun}_${DATE}.tar.gz ${pro_name_qingyun} --exclude=${pro_name_qingyun}/runtime/*
echo "${bak_dir}/${pro_name_qingyun}_${DATE}.tar.gz"
cd ${bak_dir} && find ${bak_dir} -mtime +5 |grep ".gz"|xargs rm -f

}

function bak_code_nangua_new(){
test ! -d ${bak_dir} && mkdir -p ${bak_dir}
cd ${pro_dir}
tar -czf ${bak_dir}/${pro_name_nangua_new}_${DATE}.tar.gz ${pro_name_nangua_new} --exclude=${pro_name_nangua_new}/runtime/*
echo "${bak_dir}/${pro_name_nangua_new}_${DATE}.tar.gz"
cd ${bak_dir} && find ${bak_dir} -mtime +5 |grep ".gz"|xargs rm -f


}

function bak_code_nangua_admin(){
test ! -d ${bak_dir} && mkdir -p ${bak_dir}
cd ${pro_dir}
tar -czf ${bak_dir}/${pro_name_nangua_admin}_${DATE}.tar.gz ${pro_name_nangua_admin} --exclude=${pro_name_nangua_admin}/runtime/*
echo "${bak_dir}/${pro_name_nangua_new}_${DATE}.tar.gz"
cd ${bak_dir} && find ${bak_dir} -mtime +5 |grep ".gz"|xargs rm -f


}

function check_ip() {
if [[ $bak_dir_ip =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
FIELD1=$(echo $bak_dir_ip |cut -d. -f1)
FIELD2=$(echo $bak_dir_ip |cut -d. -f2)
FIELD3=$(echo $bak_dir_ip |cut -d. -f3)
FIELD4=$(echo $bak_dir_ip |cut -d. -f4)
elif [ $FIELD1 -le 255 -a $FIELD2 -le 255 -a $FIELD3 -le 255 -a $FIELD4 -le 255 ]; then
echo "IP $IP available."
else
echo "IP $IP not available!"
fi

}

function bak_rsync(){
find ${bak_dir}/* |xargs -n1 | xargs md5sum >> file.md5.local
echo "start rsync,$(date +"%Y-%m-%d %H:%M:%S")" >> $LogFile
${Rsync_bin} -avlzP --delete ${bak_dir} ${Rsync_user}@35.203.135.112::qybackup --password-file=${Rsync_password} >> $LogFile
if [ $? -eq 0 ];then
font -purple "Rsync_Status="SUCCESS"" -reset -n >> $LogFile
echo "rsync end,$(date +"%Y-%m-%d %H:%M:%S")" >> $LogFile
else
font -purple "Rsync_Status="FAILED"" -reset -n >> $LogFile
echo "rsync end,$(date +"%Y-%m-%d %H:%M:%S")" >> $LogFile
fi
}

function main() {
while true
do
check_ip
bak_code_nangua
bak_code_qingyun
bak_code_nangua_new
bak_code_nangua_admin
bak_rsync
break
done
}
main

标签:脚本,name,nangua,备份,pro,echo,bak,dir
From: https://www.cnblogs.com/zhangcaiwang1/p/16642502.html

相关文章

  • Mysql定时备份指南
    Mysql定时备份指南1、登录数据库服务器,创建目录mkdir-p/data/mysqlbak/datamkdir-p/data/mysqlbak/scriptsmkdir-p/data/mysqlbak/logs2、创建备份脚本文件Vi......
  • 达梦数据库备份与还原的使用
    方法一:数据库备份数据库不需要stop需要开启归档./disql用户名/密码@IP地址;端口BACKUPDATABASEBACKUPSET‘db_bak_01’;默认备份文件存在DAMENG/bak目录内修改dm.ini文......
  • Windows Sever 2008 备份与恢复
    WindowsSever2008备份与恢复 目录 前言一、实验环境二、实验步骤 总结 前言作为一名企业的管理员,对于一些相当重要的文件,或所存储的磁盘以及系统......
  • centos下mysql 最新版终于安装成功!备份一下几个关键地方
    我本来只是为了搭建简单的LAMP环境,亲自动手,却发现有这么多的问题会发生。(bydefault7#zbphp.com)很多地方给的安装Mysql的提示是通过yum一键安装。shell命令如下:yumins......
  • nomad-rbd扩容脚本
    #!/bin/bash##rbd-expand.sh#获取单位unit=`echo$2|tr-d"[0-9]"`#获取数字number=`echo$2|tr-cd"[0-9]"`[[$unit=~G]]&&VSIZE=`echo$number......
  • linux 启动脚本
    #!/bin/bashAPP_NAME=app_api.jar#使用说明,用来提示输入参数usage(){echo"pleaseenterthecorrespondingparameters[start|stop|restart|status]"......
  • 每隔10秒钟后台静默全自动复制备份一次正在编辑的纯文本文档-2022年8月30日
    每隔10秒钟后台静默全自动复制备份一次正在编辑的纯文本文档-2022年8月30日 1;每隔10秒钟后台静默全自动复制备份一次正在编辑的纯文本文档2;纯文本文档编辑软......
  • jenkins使用shell脚本执行nohup java -jar包失败
    一、问题通过jenkins执行shell脚本时,脚本中是通过nohupjava-jar&的方式启动,显示执行成功,但是服务却没启动,脚本如下:#!/bin/bashnohupjava-Xms800m-Xmx800m-XX:P......
  • SqlServer定时备份数据库
    https://jingyan.baidu.com/article/75ab0bcb0f1a6497864db2ed.html1、打开SqlServer数据库,点击【管理】,右键【维护】,选择维护计划向导  2、输入计划名称,点击【更改......
  • neo4j备份恢复
    --备份mkdir-p/data/backupneo4j-admindump--database=neo4j--to=/data/backup/neo4j-`date'+%F-%H%M%S'`.dump--把这个dump文件拷贝出来,scp传输到云上ECS系......