-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathbackupd-daemon
More file actions
executable file
·55 lines (47 loc) · 1.67 KB
/
backupd-daemon
File metadata and controls
executable file
·55 lines (47 loc) · 1.67 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
#!/bin/bash
# backupd-daemon - part of backupd
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
DATE=$(date "+%Y-%m-%d")
baseName=$(hostname)-$DATE
bkpFile=$baseName.tar.xz
gpgFile="${bkpFile%%.*}.gpg"
configFile=$HOME/.config/backupd.conf
tmpDir=/tmp/backup-$DATE
if [ -f "${configFile}" ]; then
. ${configFile}
fi
mkdir -p $tmpDir && cd $tmpDir
if [ "$webDav" == 'y' ]; then
if ! [[ $(cat /etc/mtab | grep ${syncDir}) ]]; then
echo -ne ">>> Mounting remote folder..."
mount $syncDir
echo -e " Done"
else
echo -e " Directory already mounted!"
fi
fi
XZ_OPT=-9 tar -Jpcf - $sourceDir | pigz > $bkpFile
echo ">>> Backup file compressed"
gpg --quiet -default-key=$keyId -r $recipient -e $bkpFile && mv $bkpFile.gpg $gpgFile
gpg --quiet -s -o $gpgFile.asc --detach-sig $gpgFile
echo ">>> Backup encrypted"
mv -u $gpgFile $syncDir/
mv -u $gpgFile.asc $syncDir/
if [ -f "$syncDir/$gpgFile" ]; then
cd "$OLDPWD" && rm -rf $tmpDir
echo ">>> Backup successfully synced!"
else
echo "!!! Error(s) occurred while backing up, check log files."
fi