返回顶部
首页 > 资讯 > 服务器 >备份shell脚本实例代码
  • 445
分享到

备份shell脚本实例代码

脚本备份实例 2022-06-04 21:06:25 445人浏览 八月长安
摘要

1、backup_run.sh #!/bin/sh # backup_run # script to run the backups # loads in a setting fi

1、backup_run.sh

#!/bin/sh
# backup_run
# script to run the backups
# loads in a setting file for the user to change
SOURCE=/home/bob/backup.defaults
check_source()
{
# check_source
# can we load the file
# backup.defaults is the source file containing config/functions
# make sure your path includes this directory you are runing from
if [ -r $SOURCE ];then
. $SOURCE # load $source
else
echo "`basename $0`: cannot locate default file"
exit 1
fi
}
header()
{
# header
USER=`whoami`
MYDATE=`date +%A" "%e" of "%B-%Y`
clear
cat << HH
User: $USER $MYDATE
NETWORK SYSTEM BACKUP
=====================
HH
}
change_settings()
{
# change_settings
# let the user see the default settings..
header
echo "Valid Entries Are..."
echo "Tape Device: rmt0,rmt1,rmt3"
echo "Mail Admin:yes,no"
echo "Backup Type: full,nORMal,sybase "
while :
do
echo -n -c "nn Tape Device To Be Used For This Backup [$_DEVICE] :"
read T_DEVICE
: ${T_DEVICE:=$_DEVICE}
case $T_DEVICE in
rmt0|rmt1|rmt3) break

*) echo "The device are either...rmt0,rmt1,rmt3"

esac
done
# if the user hits return on any of the fields, the default value will be used
while :
do
echo -n "Mail Admin When Done [$_INFORM] : "
read T_INFORM
: ${T_INFORM:=$_INFORM}
case $T_INFORM in
yes|Yes) break

no|No) break

*) echo "The choices are yes,no"

esac
done
while :
do
echo -n "Backup Type [$_TYPE] :"
read T_TYPE
: ${T_TYPE:=$_TYPE}
case $T_TYPE in
Full|full) break

Normal|normal) break

Sybase|sybase) break

*) echo "The choices are either ... full,normal,sybase"
esac
done
# re-assign the temp varialbes back to original variables that
# were loaded in
_DEVICE=$T_DEVICE;_INFORM=$T_INFORM;_TYPE=$T_TYPE
}
show_settings()
{
# display current settings
cat << HH
Default Settings Are...
Tape Device To Be Used : $_DEVICE
Mail Admin When Done : $_INFORM
Type Of Backup : $_TYPE
Log File Of Backup : $_LOGFILE
HH
}
get_code()
{
# users get 3 attempts at entering the correct code
# _CODE is loaded in from the source file
clear
header
_COUNTER=0
echo "YOU MUST ENTER THE CORRECT CODE TO BE ABLE TO CHANGE DEFAULT SETTINGS"
while :
do
_COUNTER=`expr $_COUNTER + 1`
echo -n "Enter the code to change the settings: "
read T_CODE
# echo $_COUNTER
if [ "$T_CODE" = "$_CODE" ];then
return 0
else
if [ "$_COUNTER" -gt 3 ];then
echo "Sorry incorrect code entered, you cannot change the settings..."
return 1
fi
fi
done
}
check_drive()
{
# make sure we can rewind the tape
mt -f /dev/$_DEVICE rewind > /dev/null 2>&1
if [ $? -ne 0 ];then
return 1
else
return 0
fi
}
#====================== main =======================
# can we source the file
check_source
header
# display the loaded in variables
show_settings
# ask user if he/she wants to change any settings
if continue_prompt "Do you wish To Change Some of The System Defaults" "Y";
then
echo $?
# yes then enter code name
if get_code;then
# change some settings
change_settings
fi
fi
#------------------ Got settings... now do backup
if check_drive;then
echo "tape OK..."
else
echo "Cannot rewind the tape..Is it in the tape drive???"
echo "check it out"
exit 1
fi
# file system paths to backup
case $_TYPE in
Full|full)
BACKUP_PATH="sybase syb/suppor etc var bin apps usr/local"

Normal|normal)
BACKUP_PATH="etc var bin apps usr/local"

Sybase|sybase)
BACKUP_PATH="sybase syb/suppor"

esac
# now for backup
cd /
echo "Now starting backup......"
find $BACKUP_PATH -print | cpio -ovB -O /dev/$_DEVICE >> $_LOGFILE 2>&1
# if the above cpio does not work on your system try cpio below, instead
# find $BACKUP_PATH -print | cpio -ovB > /dev/$_DEVICE >> $_LOGFILE 2>&1
# to get more information on the tape change -ovB to -ovcC66536
if [ "$_INFORM" = "yes" ];then
echo "Backup finished check the log file" | mail admin
fi

2、backup.defaults

#!/bin/sh
# backup.defaults
# configuration default file for network backups
# edit this file at your own
# name backup.defaults
# --------------------------------------------
# not necessary for the environments to be in quotes.. but
_CODE="comet"
_LOGFILE="/appdva/backup/log.`date +%y%m%d`"
_DEVICE="rmt0"
_INFORM="yes"
_TYPE="Full"
#---------------------------------------------
continue_prompt()
{
# continue_prompt
# to call: continue_prompt "string to display" default_answer
_STR=$1
_DEFAULT=$2
# check we have the right params
if [ $# -lt 1 ];then
echo "continue_prompt: I need a string to display"
return 1
fi
while :
do
echo -n "$_STR [Y..N] [$_DEFAULT]:"
read _ANS
if [ "$_ANS" = "" ];then
: ${_ANS:=$_DEFAULT}
case $_ANS in
Y) return 0

N) return 1

esac
fi
# user has selected something
case $_ANS in
y|Y|Yes|YES)
return 0

n|N|No|NO)
return 1

*) echo "Answer either Y or N, default is $_DEFAULT"

esac
echo $_ANS
done
}

3、运行:

$./backup_run.sh backup.defaults

--结束END--

本文标题: 备份shell脚本实例代码

本文链接: https://lsjlt.com/news/18087.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 备份shell脚本实例代码
    1、backup_run.sh #!/bin/sh # backup_run # script to run the backups # loads in a setting fi...
    99+
    2022-06-04
    脚本 备份 实例
  • linux中mysql备份shell脚本代码
    第一步:在你的linux服务器中定义备份目录: mkdir /var/lib/mysqlbackup cd /var/lib/mysqlbackup 第二步:下面是最重要的一步了,就是写定时备份脚本。 ...
    99+
    2022-06-04
    脚本 备份 代码
  • 备份网站内容的shell脚本代码
    备份网站内容 #!/bin/bash#指定运行的脚本shell#运行脚本要给用户执行权限bakdir=/backupmonth=`date +%m`day=`date +%d`year=`date +%Y...
    99+
    2022-06-04
    脚本 备份 代码
  • shell 备份数据库、代码上线的脚本
    Shell 脚本 Shell 脚本(shell script),是一种为 shell 编写的脚本程序。 业界所说的 shell 通常都是指 shell 脚本,但读者朋友要知道,shell 和 shell script ...
    99+
    2022-06-04
    shell 备份数据库 shell代码上线
  • 如何实现备份网站内容的shell脚本代码
    这篇文章主要介绍如何实现备份网站内容的shell脚本代码,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!备份网站内容 代码如下:#!/bin/bash#指定运行的脚本shell#运行脚本要给用户执行权限bakdir=/...
    99+
    2023-06-09
  • Python自动备份脚本的示例代码
    目录一、前言二、代码一、前言 之前因为疫情常常不知道会不会被封在家里,又不想把电脑带过来带过去,就做了这个自动备份的脚本。 功能如下: 自动从指定根目录里将找到的所有指定后缀名的文件...
    99+
    2022-12-26
    Python 自动备份脚本 Python 备份脚本
  • rman备份脚本shell版
    1、数据库全备到硬盘[oracle@centos7 scripts]$ cat rman_backup.sh   source /home/ora...
    99+
    2024-04-02
  • 如何备份shell脚本
    小编给大家分享一下如何备份shell脚本,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!backup_run.sh代码如下:    #...
    99+
    2023-06-09
  • MySQL增量备份的脚本代码
    这篇文章主要讲解了“MySQL增量备份的脚本代码”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL增量备份的脚本代码”吧!#!/bin/sh #aut...
    99+
    2024-04-02
  • linux下oracle rman备份脚本代码
    本篇内容介绍了“linux下oracle rman备份脚本代码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成...
    99+
    2024-04-02
  • shell脚本nicenumber实现代码
    Given a number, shows it in comma-separated form.Expects DD and TD to be instantiated. Instantiates nic...
    99+
    2022-06-04
    脚本 代码 shell
  • Shell 脚本备份MySQL数据库
    (1)思路  <1>安装MySQL数据库  <2>创建数据库,表,插入数据   <3>授权一个用于备份数据库的用户名和密码&nbs...
    99+
    2024-04-02
  • MySQL数据库备份Shell脚本
    此脚本将远程主机或者本地主机上的数据库的数据备份到本地。备份MySQL数据库除了information_schema、performance_schema、mysql自带库的其他生产库。备份时将MySQL数...
    99+
    2024-04-02
  • 备份数据库的shell脚本
    #!/bin/bash#back_mysql by 2016-11-14bak_dir=/data/backup_db/`date +%Y%m%d`mysqldb=mysqlmysqluser=*****m...
    99+
    2024-04-02
  • python10.4备份脚本的代码怎么写
    python10.4备份脚本的代码怎么写,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。版本四的代码是相当长的,所以很多人对其有束手无策之感,但是你通过以下的代码对其,有更好...
    99+
    2023-06-17
  • linux下实现ftp自动备份shell脚本
    利用here文档 #!/bin/sh ftp -ivn 210.29.28.124 <<EOF user yun yun2011 lcd /home/veyun cd /home/veyun/...
    99+
    2022-06-04
    脚本 自动备份 linux
  • mysql如何实现定时备份shell脚本
    这篇文章给大家分享的是有关mysql如何实现定时备份shell脚本的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 #!/bin/bashecho &q...
    99+
    2024-04-02
  • Shell脚本定时备份清除运行系统日志的代码
    一、写备份并清除老日志Shell脚本: #!/bin/sh#backup eoslog#author rhao#date 2008-12-27 #定义环境变量EOS_HOME=/home/eosSAS_HO...
    99+
    2022-06-04
    脚本 备份 代码
  • linux中mysql怎么备份shell脚本
    本篇内容主要讲解“linux中mysql怎么备份shell脚本”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux中mysql怎么备份shell脚本”吧!第一步:在你的linux服务器中定义...
    99+
    2023-06-09
  • mysql常用备份命令和shell备份脚本分享
    备份多个数据库可以使用如下命令: mysqldump -uroot -p123456 --databases test1 test2 test3 > /home/test/dump.sql; 恢复备份: ...
    99+
    2022-06-01
    MySQL 备份命令 MySQL 备份 MySQL shell备份脚本
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作