Repository navigation
Expand file tree
/
Copy pathData_Save.sh
More file actions
executable file
·201 lines (156 loc) · 5.26 KB
/
Copy pathData_Save.sh
File metadata and controls
executable file
·201 lines (156 loc) · 5.26 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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
#! /bin/bash
######################################
# Data_Save.sh
# Utilité: ce script sert à faire des sauvegardés de données de façon dynamique
# Auteur: RootKitDev <RootKit.Dev@gmail.com>
# Mise à jour le: 26/10/2016
######################################
# Verbose mode
for param in $@
do
if [ $param = "-v" ]
then
set -vx
fi
done
# Define PATH
HOME_PATH=""
LIB_PATH="$HOME_PATH/Lib.d"
SUB_LOG=""
# Load Var lib, for all var path (log, flag, ...)
source $LIB_PATH/Var.sh
# Load all the others .sh lib
source $LIB_PATH/exist.sh
source $LIB_PATH/list.sh
source $LIB_PATH/Save.sh
source $LIB_PATH/Export.sh
source $LIB_PATH/required.sh
source $LIB_PATH/Check_Sum.sh
source $LIB_PATH/States.sh
# Writing in the early log
echo "" >> $LOG_PATH/Save.log
echo "-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-" >> $LOG_PATH/Save.log
echo `date` >> $LOG_PATH/Save.log
echo "" >> $LOG_PATH/Save.log
# Determinéetion of useful variables
Now=$(date -d 'now' +"%d-%m-%Y")
Yesterday=$(date -d 'yesterday' +"%d-%m-%Y")
MonthYesterday=$(echo $Yesterday | cut -d'-' -f2)
MonthNow=$(echo $Now | cut -d'-' -f2)
Day=$(date +"%u" | cut -d' ' -f2)
Go_Save_WE="2130"
MonthSave=$(date +"%m_%B")
DaySave=$(date +"%d")
echo "EC" > $SAVE_STATE_PATH/$MonthSave/$DaySave
# Determining the type of backup
if [ $MonthNow -gt $MonthYesterday ] || [ -f $FLAG_PATH/EX-000 ];
then
if [ ! -f $FLAG_PATH/PS-001 ] || [ -f $FLAG_PATH/EX-000 ] ;
then
# Writing Log File
if [ -f $FLAG_PATH/EX-000 ];
then
echo 'Sauvegarde Exceptionnel (sauvegarde Full) :' >> $LOG_PATH/Save.log
else
echo 'Sauvegarde Mensuel (sauvegarde Full) :' >> $LOG_PATH/Save.log
fi
echo 'Les Répertoires sauvegardés sont :' >> $LOG_PATH/Save.log
if [[ -z "$(echo -e "$(cat $SAVE_LIST_PATH/ListSaveMen)" | tr '\n' ' ' | cut -d ' ' -f1)" ]]; then
echo -e "\tIl n'y a pas de dossier(s) a sauvegardé(s)" >> $LOG_PATH/Save.log
else
# Check if directory exist
for elem in $(cat $SAVE_LIST_PATH/ListSaveMen)
do
dir_exist $elem
done
echo "" >> $LOG_PATH/Save.log
echo "Eligibilité des dossiers terminée avec succes !" >> $LOG_PATH/Save.log
# Launch monthly Data Save
Data_save "Mensuel"
fi
else
echo 'Fanion "Pas de Sauvegarde Mensuel" détecté' >> $LOG_PATH/Save.log
State_Save 4
fi
elif [[ -e $FLAG_PATH/PS-000 ]];
then
echo "" >> $LOG_PATH/Save.log
echo "Fanion \"PS-000\" a été posé," >> $LOG_PATH/Save.log
echo "aucune sauvegarde de data ne sera lancée" >> $LOG_PATH/Save.log
State_Save 4
else
if [[ "$Day" = "1" ]];
then
if [ ! -f $FLAG_PATH/PS-002 ];
then
# Writing Log File
echo 'Sauvegarde Hebdomadaire (sauvegarde Full) :' >> $LOG_PATH/Save.log
echo "" >> $LOG_PATH/Save.log
echo 'Les Répertoires sauvegardés sont :' >> $LOG_PATH/Save.log
if [[ -z "$(echo -e "$(cat $SAVE_LIST_PATH/ListSaveHeb)" | tr '\n' ' ' | cut -d ' ' -f1)" ]]; then
echo "Il n'y a pas de dossier(s) a sauvegardé(s)" >> $LOG_PATH/Save.log
else
# Check if directory exist
for elem in $(cat $SAVE_LIST_PATH/ListSaveHeb)
do
dir_exist $elem
done
echo "" >> $LOG_PATH/Save.log
echo "Eligibilité des dossiers terminée avec succes !" >> $LOG_PATH/Save.log
# Launch weekly Data Save
Data_save "Hebdomadaire"
fi
else
echo 'Fanion "Pas de Sauvegarde Hebdomadaire" détecté' >> $LOG_PATH/Save.log
State_Save 4
fi
elif [[ "$Day" = "6" ]] && [[ "$(date +%H%M)" -gt $Go_Save_WE ]];
then
if [ ! -f $FLAG_PATH/PS-003 ];
then
# Writing Log File
echo 'Sauvegarde Week-End (sauvegarde Incrementiel => Mensuel) :' >> $LOG_PATH/Save.log
echo 'Les Répertoires sauvegardés sont :' >> $LOG_PATH/Save.log
if [[ -z "$(echo -e "$(cat $SAVE_LIST_PATH/ListSaveMen)" | tr '\n' ' ' | cut -d ' ' -f1)" ]]; then
echo "Il n'y a pas de dossier(s) a sauvegardé(s)" >> $LOG_PATH/Save.log
else
# Check if directory exist
for elem in $(cat $SAVE_LIST_PATH/ListSaveMen)
do
dir_exist $elem
done
echo "" >> $LOG_PATH/Save.log
echo "Eligibilité des dossiers terminée avec succes !" >> $LOG_PATH/Save.log
# Launch weekly-end Data Save
Data_save "Week-End"
fi
else
echo 'Fanion "Pas de Sauvegarde Week-End" détecté' >> $LOG_PATH/Save.log
State_Save 4
fi
elif [ ! -f $FLAG_PATH/PS-004 ];
then
# Writing Log File
echo 'Sauvegarde Journaliere (sauvegarde Incrementiel => Hebdomadaire) :' >> $LOG_PATH/Save.log
echo 'Les Répertoires sauvegardés sont :' >> $LOG_PATH/Save.log
if [[ -z "$(echo -e "$(cat $SAVE_LIST_PATH/ListSaveHeb)" | tr '\n' ' ' | cut -d ' ' -f1)" ]]; then
echo "Il n'y a pas de dossier(s) a sauvegardé(s)" >> $LOG_PATH/Save.log
else
# Check if directory exist
for elem in $(cat $SAVE_LIST_PATH/ListSaveHeb)
do
dir_exist $elem
done
echo "" >> $LOG_PATH/Save.log
echo "Eligibilité des dossiers terminée avec succes !" >> $LOG_PATH/Save.log
# Launch daily Data Save
Data_save "Journaliere"
fi
else
echo 'Fanion "Pas de Sauvegarde Journaliere" détecté' >> $LOG_PATH/Save.log
State_Save 4
fi
fi
echo "" >> $LOG_PATH/Save.log
echo "Fin du script $0" >> $LOG_PATH/Save.log
echo `date` >> $LOG_PATH/Save.log