Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
F
freedombone
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
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
Context Sensitive Group
freedombone
Commits
178b0029
Commit
178b0029
authored
9 years ago
by
Bob Mottram
Browse files
Options
Downloads
Patches
Plain Diff
Ability to restore specific apps
parent
7038d49d
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
man/freedombone-restore-local.1.gz
+0
-0
0 additions, 0 deletions
man/freedombone-restore-local.1.gz
src/freedombone-restore-local
+145
-1
145 additions, 1 deletion
src/freedombone-restore-local
with
145 additions
and
1 deletion
man/freedombone-restore-local.1.gz
+
0
−
0
View file @
178b0029
No preview for this file type
This diff is collapsed.
Click to expand it.
src/freedombone-restore-local
+
145
−
1
View file @
178b0029
...
...
@@ -32,6 +32,9 @@ PROJECT_NAME='freedombone'
COMPLETION_FILE
=
$HOME
/
${
PROJECT_NAME
}
-completed
.txt
BACKUP_EXTRA_DIRECTORIES
=
/root/backup-extra-dirs.csv
# whether to restore everything or just a specific application
RESTORE_APP
=
'all'
export
TEXTDOMAIN
=
${
PROJECT_NAME
}
-restore-local
export
TEXTDOMAINDIR
=
"/usr/share/locale"
...
...
@@ -228,6 +231,12 @@ function update_domains {
}
function
restore_configuration
{
if
[[
$RESTORE_APP
!=
'all'
]]
;
then
if
[[
$RESTORE_APP
!=
'configuration'
]]
;
then
return
fi
fi
# this restores *.cfg and COMPLETION_FILE
if
[
-d
$USB_MOUNT
/backup/config
]
;
then
echo
$"Restoring configuration files"
...
...
@@ -274,6 +283,11 @@ function same_admin_user {
}
function
restore_mariadb
{
if
[[
$RESTORE_APP
!=
'all'
]]
;
then
if
[[
$RESTORE_APP
!=
'mariadb'
]]
;
then
return
fi
fi
if
[
-d
$USB_MOUNT
/backup/mariadb
]
;
then
echo
$"Restoring mysql settings"
restore_directory_from_usb /root/tempmariadb mariadb
...
...
@@ -310,6 +324,11 @@ function restore_mariadb {
}
function
restore_letsencrypt
{
if
[[
$RESTORE_APP
!=
'all'
]]
;
then
if
[[
$RESTORE_APP
!=
'letsencrypt'
]]
;
then
return
fi
fi
if
[
-d
$USB_MOUNT
/backup/letsencrypt
]
;
then
echo
$"Restoring Lets Encrypt settings"
restore_directory_from_usb / letsencrypt
...
...
@@ -317,6 +336,11 @@ function restore_letsencrypt {
}
function
restore_mutt_settings
{
if
[[
$RESTORE_APP
!=
'all'
]]
;
then
if
[[
$RESTORE_APP
!=
'mutt'
]]
;
then
return
fi
fi
if
[
-d
$USB_MOUNT
/backup/mutt
]
;
then
for
d
in
$USB_MOUNT
/backup/mutt/
*
/
;
do
USERNAME
=
$(
echo
"
$d
"
|
awk
-F
'/'
'{print $6}'
)
...
...
@@ -344,6 +368,11 @@ function restore_mutt_settings {
}
function
restore_gpg
{
if
[[
$RESTORE_APP
!=
'all'
]]
;
then
if
[[
$RESTORE_APP
!=
'gpg'
]]
;
then
return
fi
fi
if
[
-d
$USB_MOUNT
/backup/gnupg
]
;
then
for
d
in
$USB_MOUNT
/backup/gnupg/
*
/
;
do
USERNAME
=
$(
echo
"
$d
"
|
awk
-F
'/'
'{print $6}'
)
...
...
@@ -373,6 +402,11 @@ function restore_gpg {
}
function
restore_procmail
{
if
[[
$RESTORE_APP
!=
'all'
]]
;
then
if
[[
$RESTORE_APP
!=
'procmail'
]]
;
then
return
fi
fi
if
[
-d
$USB_MOUNT
/backup/procmail
]
;
then
for
d
in
$USB_MOUNT
/backup/procmail/
*
/
;
do
USERNAME
=
$(
echo
"
$d
"
|
awk
-F
'/'
'{print $6}'
)
...
...
@@ -395,6 +429,11 @@ function restore_procmail {
}
function
restore_spamassassin
{
if
[[
$RESTORE_APP
!=
'all'
]]
;
then
if
[[
$RESTORE_APP
!=
'spamassassin'
]]
;
then
return
fi
fi
if
[
-d
$USB_MOUNT
/backup/spamassassin
]
;
then
for
d
in
$USB_MOUNT
/backup/spamassassin/
*
/
;
do
USERNAME
=
$(
echo
"
$d
"
|
awk
-F
'/'
'{print $6}'
)
...
...
@@ -419,6 +458,11 @@ function restore_spamassassin {
}
function
restore_admin_readme
{
if
[[
$RESTORE_APP
!=
'all'
]]
;
then
if
[[
$RESTORE_APP
!=
'readme'
]]
;
then
return
fi
fi
if
[
-d
$USB_MOUNT
/backup/readme
]
;
then
echo
$"Restoring admin user README"
...
...
@@ -442,6 +486,11 @@ function restore_admin_readme {
}
function
restore_ipfs
{
if
[[
$RESTORE_APP
!=
'all'
]]
;
then
if
[[
$RESTORE_APP
!=
'ipfs'
]]
;
then
return
fi
fi
if
[
-d
$USB_MOUNT
/backup/ipfs
]
;
then
echo
$"Restoring IPFS"
restore_directory_from_usb /root/tempipfs ipfs
...
...
@@ -456,6 +505,11 @@ function restore_ipfs {
}
function
restore_user_ssh_keys
{
if
[[
$RESTORE_APP
!=
'all'
]]
;
then
if
[[
$RESTORE_APP
!=
'ssh'
]]
;
then
return
fi
fi
if
[
-d
$USB_MOUNT
/backup/ssh
]
;
then
for
d
in
$USB_MOUNT
/backup/ssh/
*
/
;
do
USERNAME
=
$(
echo
"
$d
"
|
awk
-F
'/'
'{print $6}'
)
...
...
@@ -478,6 +532,11 @@ function restore_user_ssh_keys {
}
function
restore_user_config
{
if
[[
$RESTORE_APP
!=
'all'
]]
;
then
if
[[
$RESTORE_APP
!=
'userconfig'
]]
;
then
return
fi
fi
if
[
-d
$USB_MOUNT
/backup/config
]
;
then
for
d
in
$USB_MOUNT
/backup/config/
*
/
;
do
USERNAME
=
$(
echo
"
$d
"
|
awk
-F
'/'
'{print $6}'
)
...
...
@@ -500,6 +559,11 @@ function restore_user_config {
}
function
restore_certs
{
if
[[
$RESTORE_APP
!=
'all'
]]
;
then
if
[[
$RESTORE_APP
!=
'certs'
]]
;
then
return
fi
fi
if
[
-d
$USB_MOUNT
/backup/ssl
]
;
then
echo
$"Restoring certificates"
mkdir
/root/tempssl
...
...
@@ -514,6 +578,11 @@ function restore_certs {
}
function
restore_personal_settings
{
if
[[
$RESTORE_APP
!=
'all'
]]
;
then
if
[[
$RESTORE_APP
!=
'personal'
]]
;
then
return
fi
fi
if
[
-d
$USB_MOUNT
/backup/personal
]
;
then
for
d
in
$USB_MOUNT
/backup/personal/
*
/
;
do
USERNAME
=
$(
echo
"
$d
"
|
awk
-F
'/'
'{print $6}'
)
...
...
@@ -540,6 +609,11 @@ function restore_personal_settings {
}
function
restore_mailing_list
{
if
[[
$RESTORE_APP
!=
'all'
]]
;
then
if
[[
$RESTORE_APP
!=
'mailinglist'
]]
;
then
return
fi
fi
if
[
-d
/var/spool/mlmmj
]
;
then
echo
$"Restoring public mailing list"
restore_directory_from_usb /root/tempmailinglist mailinglist
...
...
@@ -553,6 +627,11 @@ function restore_mailing_list {
}
function
restore_xmpp
{
if
[[
$RESTORE_APP
!=
'all'
]]
;
then
if
[[
$RESTORE_APP
!=
'xmpp'
]]
;
then
return
fi
fi
if
[
-d
/var/lib/prosody
]
;
then
echo
$"Restoring XMPP settings"
restore_directory_from_usb /root/tempxmpp xmpp
...
...
@@ -568,6 +647,11 @@ function restore_xmpp {
}
function
restore_gnu_social
{
if
[[
$RESTORE_APP
!=
'all'
]]
;
then
if
[[
$RESTORE_APP
!=
'gnusocial'
]]
;
then
return
fi
fi
if
[
$MICROBLOG_DOMAIN_NAME
]
;
then
restore_database gnusocial
${
MICROBLOG_DOMAIN_NAME
}
if
[
-d
/root/tempgnusocial
]
;
then
...
...
@@ -577,6 +661,11 @@ function restore_gnu_social {
}
function
restore_hubzilla
{
if
[[
$RESTORE_APP
!=
'all'
]]
;
then
if
[[
$RESTORE_APP
!=
'hubzilla'
]]
;
then
return
fi
fi
if
[
$HUBZILLA_DOMAIN_NAME
]
;
then
restore_database hubzilla
${
HUBZILLA_DOMAIN_NAME
}
if
[
-d
$USB_MOUNT
/backup/hubzilla
]
;
then
...
...
@@ -593,6 +682,11 @@ function restore_hubzilla {
}
function
restore_owncloud
{
if
[[
$RESTORE_APP
!=
'all'
]]
;
then
if
[[
$RESTORE_APP
!=
'owncloud'
]]
;
then
return
fi
fi
if
[
$OWNCLOUD_DOMAIN_NAME
]
;
then
restore_database owncloud
$OWNCLOUD_DOMAIN_NAME
if
[
-d
$USB_MOUNT
/backup/owncloud2
]
;
then
...
...
@@ -619,6 +713,11 @@ function restore_owncloud {
}
function
restore_gogs
{
if
[[
$RESTORE_APP
!=
'all'
]]
;
then
if
[[
$RESTORE_APP
!=
'gogs'
]]
;
then
return
fi
fi
if
[
$GIT_DOMAIN_NAME
]
;
then
restore_database gogs
${
GIT_DOMAIN_NAME
}
if
[
-d
$USB_MOUNT
/backup/gogs
]
;
then
...
...
@@ -657,6 +756,11 @@ function restore_gogs {
}
function
restore_wiki
{
if
[[
$RESTORE_APP
!=
'all'
]]
;
then
if
[[
$RESTORE_APP
!=
'wiki'
]]
;
then
return
fi
fi
if
[
$WIKI_DOMAIN_NAME
]
;
then
echo
$"Restoring Wiki installation
${
WIKI_DOMAIN_NAME
}
"
restore_directory_from_usb /root/tempwiki wiki
...
...
@@ -686,6 +790,11 @@ function restore_wiki {
}
function
restore_blog
{
if
[[
$RESTORE_APP
!=
'all'
]]
;
then
if
[[
$RESTORE_APP
!=
'blog'
]]
;
then
return
fi
fi
if
[
$FULLBLOG_DOMAIN_NAME
]
;
then
echo
$"Restoring blog installation"
restore_directory_from_usb /root/tempblog blog
...
...
@@ -722,6 +831,11 @@ function restore_blog {
}
function
restore_cjdns
{
if
[[
$RESTORE_APP
!=
'all'
]]
;
then
if
[[
$RESTORE_APP
!=
'cjdns'
]]
;
then
return
fi
fi
if
[
-d
$USB_MOUNT
/backup/cjdns
]
;
then
echo
$"Restoring cjdns installation"
restore_directory_from_usb /root/tempcjdns cjdns
...
...
@@ -736,6 +850,11 @@ function restore_cjdns {
}
function
restore_email
{
if
[[
$RESTORE_APP
!=
'all'
]]
;
then
if
[[
$RESTORE_APP
!=
'email'
]]
;
then
return
fi
fi
if
[
-d
$USB_MOUNT
/backup/mail
]
;
then
for
d
in
$USB_MOUNT
/backup/mail/
*
/
;
do
USERNAME
=
$(
echo
"
$d
"
|
awk
-F
'/'
'{print $6}'
)
...
...
@@ -760,6 +879,11 @@ function restore_email {
}
function
restore_dlna
{
if
[[
$RESTORE_APP
!=
'all'
]]
;
then
if
[[
$RESTORE_APP
!=
'dlna'
]]
;
then
return
fi
fi
if
[
-d
/var/cache/minidlna
]
;
then
if
[
-d
$USB_MOUNT
/backup/dlna
]
;
then
echo
$"Restoring DLNA cache"
...
...
@@ -776,6 +900,11 @@ function restore_dlna {
}
function
restore_voip
{
if
[[
$RESTORE_APP
!=
'all'
]]
;
then
if
[[
$RESTORE_APP
!=
'voip'
]]
;
then
return
fi
fi
if
[
-d
$USB_MOUNT
/backup/voip
]
;
then
echo
$"Restoring VoIP settings"
restore_directory_from_usb /root/tempvoip voip
...
...
@@ -807,6 +936,11 @@ function restore_voip {
}
function
restore_tox
{
if
[[
$RESTORE_APP
!=
'all'
]]
;
then
if
[[
$RESTORE_APP
!=
'tox'
]]
;
then
return
fi
fi
if
[
-d
$USB_MOUNT
/backup/tox
]
;
then
echo
$"Restoring Tox node settings"
restore_directory_from_usb / tox
...
...
@@ -824,7 +958,17 @@ function restore_tox {
fi
}
mount_drive
$1
$2
function
get_restore_app
{
if
[
${
1
}
]
;
then
if
[
!
-d
/home/
${
1
}
]
;
then
RESTORE_APP
=
${
1
}
echo
$"Restore
$RESTORE_APP
"
fi
fi
}
get_restore_app
${
2
}
mount_drive
${
1
}
${
2
}
check_backup_exists
check_admin_user
copy_gpg_keys
...
...
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