-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathFilerConfigBackup
More file actions
98 lines (86 loc) · 2.23 KB
/
Copy pathFilerConfigBackup
File metadata and controls
98 lines (86 loc) · 2.23 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#!/bin/ksh
#
#
#author: Geri
#date: 6/25/2013
#change list
#
#Version 1.01
# Added the "options" to be backed up
#Version 1.02
# Added resolv.conf to be backed up
version=1.02
myname="FilerConfigBackup"
#Variables
WorkFolder="/santeam/ConfigDB/ConfigFiles"
initscript="/opt/CITCOSan/Drivers/Driver_init"
initiated="" #the init script nol loaded yet
SevenModeFilesToBackup="rc hosts exports snapmirror.conf usermap.cfg resolv.conf"
HistDir="_PrevVersions"
#colors
BOLD="\033[1m"
NORM="\033[0m"
YELLOW_F="\033[33m"; YELLOW_B="\033[43m"
RED_F="\033[31m"
MAGENTA_F="\033[35m"
CYAN_F="\033[36m"
BLUE_F="\033[34m"
OrigDir=`pwd`
cd $WorkFolder
Usage ()
{
echo "Synopsis:"
echo "${NORM} This script creates backups from the filers' configuration files and saves in ${BOLD}$WorkFolder$NORM"
echo " ${BOLD}Version: $version"
echo
echo "Usage:"
echo " ${BOLD}$myname ${NORM}"
echo
echo "${BOLD}Examples:${NORM}"
echo " ${BOLD}${BLUE_F}$myname${NORM}"
echo " First rotates the files from $WorkFolder to $WorkFolder/$HistDir,"
echo " and backs up the config files ($SevenModeFilesToBackup) from all the filers"
echo " and stores the output of \"options\"."
echo
}
h=$1
#check the first parameter or no parameter
if [[ "$1" == "?" || "$1" == "-h" || "$1" == "-?" || "$1" == "-help" ]]
then
Usage
exit
fi
Backup7modeFilers ()
{
if [ -z $FILERS ];then
. $initscipt
initiated="yes"
fi
#FILERS=jrc1sanfiler01 #For testing
for filer in $FILERS $nonprod_filers;do
echo "Working on ${BOLD}$filer$NORM..."
if [ ! -d $WorkFolder/$filer ];then
mkdir $WorkFolder/$filer
fi
cd $WorkFolder/$filer
for FileToBackup in $SevenModeFilesToBackup;do
#log rotation
for i in `seq 4 -1 0`;do
n=$(($i+1))
if [ ! -d $HistDir ];then
mkdir $HistDir
fi
mv $HistDir/$FileToBackup.$i $HistDir/$FileToBackup.$(($i+1)) 2> /dev/null
mv $HistDir/OptionsBackup.$i $HistDir/OptionsBackup.$(($i+1)) 2> /dev/null
done
mv $FileToBackup $HistDir/$FileToBackup.0 2> /dev/null
mv OptionsBackup $HistDir/OptionsBackup.0 2> /dev/null
ssh -n $filer rdfile /etc/$FileToBackup > $FileToBackup
ssh -n $filer options > OptionsBackup
done
done
echo "Update finished..."
}
#main script
Backup7modeFilers
cd $OrigDir