Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
I
iml-backup
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
IML Open Source
iml-backup
Commits
7021b8e5
Commit
7021b8e5
authored
3 years ago
by
Hahn Axel (hahn)
Browse files
Options
Downloads
Patches
Plain Diff
shorten output if no service is available
parent
664a39b0
No related branches found
No related tags found
1 merge request
!41
shorten output if no service is available
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
localdump.sh
+133
-119
133 additions, 119 deletions
localdump.sh
with
133 additions
and
119 deletions
localdump.sh
+
133
−
119
View file @
7021b8e5
...
@@ -68,8 +68,9 @@
...
@@ -68,8 +68,9 @@
# ------------------------------------------------------------
# ------------------------------------------------------------
# cleanup a backup dir: remove old files and delete empty dirs
# cleanup a backup dir: remove old files and delete empty dirs
function
cleanup_backup_target
(){
function
cleanup_backup_target
(){
h3
"CLEANUP
${
BACKUP_TARGETDIR
}
older
$BACKUP_KEEP_DAYS
days ..."
if
[
-d
"
${
BACKUP_TARGETDIR
}
"
]
;
then
if
[
-d
"
${
BACKUP_TARGETDIR
}
"
]
;
then
h3
"CLEANUP
${
BACKUP_TARGETDIR
}
older
$BACKUP_KEEP_DAYS
days ..."
echo
find
"
${
BACKUP_TARGETDIR
}
"
-mtime
+
$BACKUP_KEEP_DAYS
-delete
-print
echo
find
"
${
BACKUP_TARGETDIR
}
"
-mtime
+
$BACKUP_KEEP_DAYS
-delete
-print
color cmd
color cmd
find
"
${
BACKUP_TARGETDIR
}
"
-mtime
+
$BACKUP_KEEP_DAYS
-delete
-print
find
"
${
BACKUP_TARGETDIR
}
"
-mtime
+
$BACKUP_KEEP_DAYS
-delete
-print
...
@@ -79,8 +80,6 @@
...
@@ -79,8 +80,6 @@
echo
"INFO: the directory is empty - deleting it"
echo
"INFO: the directory is empty - deleting it"
rm
-rf
"
${
BACKUP_TARGETDIR
}
"
rm
-rf
"
${
BACKUP_TARGETDIR
}
"
fi
fi
else
echo
"SKIP: directory does not exist (no error)"
fi
fi
}
}
...
@@ -137,9 +136,9 @@
...
@@ -137,9 +136,9 @@
# show used space and count of files and dirs
# show used space and count of files and dirs
function
show_info_backup_target
(){
function
show_info_backup_target
(){
h3
"INFO about backup target
${
BACKUP_TARGETDIR
}
"
if
[
-d
"
${
BACKUP_TARGETDIR
}
"
]
;
then
if
[
-d
"
${
BACKUP_TARGETDIR
}
"
]
;
then
h3
"INFO about backup target
${
BACKUP_TARGETDIR
}
"
echo
-n
"used space: "
echo
-n
"used space: "
du
-hs
"
${
BACKUP_TARGETDIR
}
"
du
-hs
"
${
BACKUP_TARGETDIR
}
"
...
@@ -151,11 +150,8 @@
...
@@ -151,11 +150,8 @@
echo
-n
"free space: "
echo
-n
"free space: "
df
-h
"
${
BACKUP_TARGETDIR
}
"
|
tail
-1
|
awk
'{ print $4 }'
df
-h
"
${
BACKUP_TARGETDIR
}
"
|
tail
-1
|
awk
'{ print $4 }'
else
echo
echo
"SKIP: directory does not exist (no error)"
fi
fi
echo
}
}
# ----------------------------------------------------------------------
# ----------------------------------------------------------------------
...
@@ -225,11 +221,15 @@
...
@@ -225,11 +221,15 @@
echo
"
`
basename
$0
`
[[operation]] [Name_of_service] [[more services]]"
echo
"
`
basename
$0
`
[[operation]] [Name_of_service] [[more services]]"
echo
"
`
basename
$0
`
restore [Name_of_service] [file-to-restore]"
echo
"
`
basename
$0
`
restore [Name_of_service] [file-to-restore]"
echo
echo
echo
" operation - one of backup|restore; optional parameter; default is backup"
echo
" operation - one of check|backup|restore; optional parameter; default is backup"
echo
" check show info only if the service is available"
echo
" backup dump all databases/ schemes of a given service"
echo
" restore import a dump into same or new database"
echo
" Without a filename it starts an interactive mode"
echo
" Name_of_service - name of database service"
echo
" Name_of_service - name of database service"
echo
" You get a list of all available services without parameter"
echo
" You get a list of all available services without parameter"
echo
" Use ALL for bulk command"
echo
" Use ALL for bulk command"
echo
" file - filename of db dump to restore"
echo
" file - filename of db dump to restore
to origin database scheme
"
}
}
...
@@ -237,12 +237,12 @@
...
@@ -237,12 +237,12 @@
# INIT
# INIT
# ----------------------------------------------------------------------
# ----------------------------------------------------------------------
# ----- checks
# . /usr/local/bin/inc_cronfunctions.sh
# . /usr/local/bin/inc_cronfunctions.sh
j_requireUser
"root"
j_requireUser
"root"
h1
`
date
`
IML BACKUP :: LOCALDUMP ::
$*
h1
`
date
`
IML BACKUP :: LOCALDUMP ::
$*
echo
Start
`
date
`
echo
if
[
$#
-eq
0
]
;
then
if
[
$#
-eq
0
]
;
then
color error
color error
...
@@ -257,126 +257,140 @@
...
@@ -257,126 +257,140 @@
fi
fi
mode
=
"backup"
mode
=
"backup"
if
[
"
$1
"
=
"backup"
-o
"
$1
"
=
"restore"
]
;
then
case
"
$1
"
in
mode
=
$1
backup|check|restore|shell
)
shift
1
mode
=
$1
fi
shift
1
;;
esac
if
[
"
$mode
"
=
"backup"
]
;
then
export
SERVICENAME
=
$1
if
[
"
$1
"
=
"ALL"
]
;
then
BACKUP_TARGETDIR
=
${
BACKUP_BASEDIR
}
/
${
SERVICENAME
}
services
=
`
get_services
`
BACKUP_SCRIPT
=
$(
get_service_script
${
SERVICENAME
}
)
echo
AUTO: calling
local
backup scripts
for
all known services
echo
$services
case
"
$mode
"
in
echo
# ------------------------------------------------------------
else
check
)
services
=
$*
.
$BACKUP_SCRIPT
$mode
fi
;;
# ------------------------------------------------------------
# ----- check all params
backup
)
for
SERVICENAME
in
$services
if
[
"
$SERVICENAME
"
=
"ALL"
]
;
then
do
services
=
$(
get_services
)
BACKUP_SCRIPT
=
$(
get_service_script
${
SERVICENAME
}
)
echo
AUTO: calling
local
backup scripts
for
all known services
if
[
!
-f
$BACKUP_SCRIPT
]
;
then
echo
$services
color error
echo
ERROR: parameter
$SERVICENAME
seems to be wrong.
echo
The backup script does not exist:
$BACKUP_SCRIPT
color reset
echo
echo
echo
services
in
this folder are:
else
get_services
services
=
$*
exit
2
fi
fi
done
# ----- GO
for
SERVICENAME
in
$services
do
BACKUP_TARGETDIR
=
${
BACKUP_BASEDIR
}
/
${
SERVICENAME
}
BACKUP_SCRIPT
=
$(
get_service_script
${
SERVICENAME
}
)
# show_info_backup_target
# ----- start service specific script
echo
h2
"START SCRIPT FOR
${
SERVICENAME
}
-
$BACKUP_SCRIPT
"
.
$BACKUP_SCRIPT
$mode
# ----- post jobs: cleanup
cleanup_backup_target
show_info_backup_target
done
# ----- check all params
fi
for
SERVICENAME
in
$services
do
if
[
"
$mode
"
=
"restore"
]
;
then
BACKUP_SCRIPT
=
$(
get_service_script
${
SERVICENAME
}
)
SERVICENAME
=
$1
if
[
!
-f
$BACKUP_SCRIPT
]
;
then
BACKUP_TARGETDIR
=
${
BACKUP_BASEDIR
}
/
${
SERVICENAME
}
color error
BACKUP_SCRIPT
=
$(
get_service_script
${
SERVICENAME
}
)
echo
ERROR: parameter
$SERVICENAME
seems to be wrong.
echo
The backup script does not exist:
$BACKUP_SCRIPT
h1
"RESTORE DATABASE"
color reset
if
[
-z
$2
]
;
then
echo
echo
services
in
this folder are:
# ----- file selection
get_services
exit
2
h2
"select database"
fi
listBackupedDBs
done
color input
echo
-n
"name of db to restore >"
# ----- GO
color reset
for
SERVICENAME
in
$services
read
fileprefix
do
echo
BACKUP_TARGETDIR
=
${
BACKUP_BASEDIR
}
/
${
SERVICENAME
}
BACKUP_SCRIPT
=
$(
get_service_script
${
SERVICENAME
}
)
# ----- start service specific script
h2
"START SCRIPT FOR
${
SERVICENAME
}
-
$BACKUP_SCRIPT
"
.
$BACKUP_SCRIPT
$mode
# ----- post jobs: cleanup
cleanup_backup_target
show_info_backup_target
done
;;
# ------------------------------------------------------------
restore
)
h1
"RESTORE DATABASE"
if
[
-z
$2
]
;
then
# ----- file selection
h2
"select database"
listBackupedDBs
color input
echo
-n
"name of db to restore >"
color reset
read
fileprefix
echo
h2
"select a specific dump for that database"
h2
"select a specific dump for that database"
listBackupedDBs
$fileprefix
listBackupedDBs
$fileprefix
color input
color input
echo
-n
"backupset to import >"
echo
-n
"backupset to import >"
color reset
color reset
read
dbfile
read
dbfile
echo
echo
color input
color input
sTargetDb
=
`
guessDB
${
dbfile
}
`
echo
-n
"new database name [
$sTargetDb
] >"
color reset
read
sTargetDb
if
[
-z
$sTargetDb
]
;
then
sTargetDb
=
`
guessDB
${
dbfile
}
`
sTargetDb
=
`
guessDB
${
dbfile
}
`
echo
-n
"new database name [
$sTargetDb
] >"
color reset
read
sTargetDb
if
[
-z
$sTargetDb
]
;
then
sTargetDb
=
`
guessDB
${
dbfile
}
`
fi
echo
sDumpfile
=
"
${
BACKUP_TARGETDIR
}
/
${
dbfile
}
"
else
sDumpfile
=
$2
sTargetDb
=
$3
fi
fi
echo
shift
2
sDumpfile
=
"
${
BACKUP_TARGETDIR
}
/
${
dbfile
}
"
# ----- start restore
else
sDumpfile
=
$2
sTargetDb
=
$3
fi
shift
2
if
[
!
-f
"
${
sDumpfile
}
"
]
;
then
color error
echo
ERROR:
${
sDumpfile
}
is not a file
color reset
rc
=
$rc
+1
else
.
$BACKUP_SCRIPT
$mode
"
${
sDumpfile
}
"
"
${
sTargetDb
}
"
if
[
!
-f
"
${
sDumpfile
}
"
]
;
then
if
[
$?
-ne
0
-o
$rc
-ne
0
]
;
then
color error
color error
echo
ERROR:
$
mode
failed. See ouput above. :-/
echo
ERROR:
$
{
sDumpfile
}
is not a file
color reset
color reset
rc
=
$rc
+1
else
else
color ok
echo
OK,
$mode
was successful.
color reset
fi
fi
.
$BACKUP_SCRIPT
$mode
"
${
sDumpfile
}
"
"
${
sTargetDb
}
"
fi
if
[
$?
-ne
0
-o
$rc
-ne
0
]
;
then
color error
echo
ERROR:
$mode
failed. See ouput above. :-/
color reset
else
color ok
echo
OK,
$mode
was successful.
color reset
fi
fi
;;
# ------------------------------------------------------------
# shell)
# . $BACKUP_SCRIPT $mode
# myshell=$( grep "^$USER" /etc/passwd | cut -f 7 -d ":" )
# echo "TYPE EXIT ... to leave $myshell"
# $myshell -i
# echo "Subshell was closed."
# ;;
esac
echo
_______________________________________________________________________________
echo
_______________________________________________________________________________
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment