Menuserver
- Added backup
This commit is contained in:
parent
b91c1784cb
commit
74f5b41103
42
backup.sh
Executable file
42
backup.sh
Executable file
@ -0,0 +1,42 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
function targz() {
|
||||
|
||||
DNOW=$( date '+%F-%H-%M')
|
||||
|
||||
|
||||
local tmpFile="${@%/}-${DNOW}.tar";
|
||||
|
||||
tar -cvf "${tmpFile}" --exclude-vcs-ignores --exclude-vcs --exclude-backups --exclude-caches --exclude=".DS_Store" --exclude="node_modules" --exclude=".idea" "${@}" || return 1;
|
||||
|
||||
size=$(
|
||||
stat -f"%z" "${tmpFile}" 2> /dev/null; # macOS `stat`
|
||||
stat -c"%s" "${tmpFile}" 2> /dev/null; # GNU `stat`
|
||||
);
|
||||
|
||||
local cmd="";
|
||||
if (( size < 52428800 )) && hash zopfli 2> /dev/null; then
|
||||
# the .tar file is smaller than 50 MB and Zopfli is available; use it
|
||||
cmd="zopfli";
|
||||
else
|
||||
if hash pigz 2> /dev/null; then
|
||||
cmd="pigz";
|
||||
else
|
||||
cmd="gzip";
|
||||
fi;
|
||||
fi;
|
||||
|
||||
echo "Compressing .tar ($((size / 1000)) kB) using \`${cmd}\`…";
|
||||
"${cmd}" -v "${tmpFile}" || return 1;
|
||||
[ -f "${tmpFile}" ] && rm "${tmpFile}";
|
||||
|
||||
zippedSize=$(
|
||||
stat -f"%z" "${tmpFile}.gz" 2> /dev/null; # macOS `stat`
|
||||
stat -c"%s" "${tmpFile}.gz" 2> /dev/null; # GNU `stat`
|
||||
);
|
||||
|
||||
echo "${tmpFile}.gz ($((zippedSize / 1000)) kB) created successfully.";
|
||||
|
||||
}
|
||||
|
||||
targz db/menu.db
|
Loading…
Reference in New Issue
Block a user