Initial commit

master
dsc 2 years ago
commit d4bdc820d2

@ -0,0 +1,8 @@
## stupidbackup
Yes.
```text
# weekly
0 0 * * 0 bash /path/to/main.sh
```

@ -0,0 +1,6 @@
#!/usr/bin/env bash
tar -zcvf "home.tar.gz" --exclude-vcs --exclude '.wow-shared-ringdb' --exclude '__pycache__' --exclude 'venv' --exclude '.cache' --exclude '.wownero' --exclude '/var/lib/postgresql' --exclude '/var/lib/redis' --exclude '/var/lib/snapd' --exclude '/var/lib/mysql' --exclude '*/build' --exclude '/var/log' --exclude '/var/lib/dpkg' --exclude '/var/lib/varnish' --exclude '/var/lib/apt' --exclude '/var/cache' --exclude '/var/log/journal' --exclude 'node_modules' --exclude '.bitmonero' --exclude 'lmdb' /home/
tar -zcvf "etc.tar.gz" --exclude-vcs --exclude '.wow-shared-ringdb' --exclude '__pycache__' --exclude 'venv' --exclude '.cache' --exclude '.wownero' --exclude '/var/lib/postgresql' --exclude '/var/lib/redis' --exclude '/var/lib/snapd' --exclude '/var/lib/mysql' --exclude '*/build' --exclude '/var/log' --exclude '/var/lib/dpkg' --exclude '/var/lib/varnish' --exclude '/var/lib/apt' --exclude '/var/cache' --exclude '/var/log/journal' --exclude 'node_modules' --exclude '.bitmonero' --exclude 'lmdb' /etc/
tar -zcvf "var.tar.gz" --exclude-vcs --exclude '.wow-shared-ringdb' --exclude '__pycache__' --exclude 'venv' --exclude '.cache' --exclude '.wownero' --exclude '/var/lib/postgresql' --exclude '/var/lib/redis' --exclude '/var/lib/snapd' --exclude '/var/lib/mysql' --exclude '*/build' --exclude '/var/log' --exclude '/var/lib/dpkg' --exclude '/var/lib/varnish' --exclude '/var/lib/apt' --exclude '/var/cache' --exclude '/var/log/journal' --exclude 'node_modules' --exclude '.bitmonero' --exclude 'lmdb' /var/
su postgres -c 'pg_dumpall' | gzip > all.sql.gz

@ -0,0 +1,44 @@
#!/usr/bin/env bash
lockfile="/tmp/stupidbackup.lock"
exec 9>"$lockfile"
if ! flock -n 9
then printf 'Only one running instance is allowed.\n';
exit 1
fi
destination="/mnt/bigstorage/"
dontcare="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o LogLevel=ERROR"
now=`date +"%Y-%m-%d"`
path_script="$(realpath "${BASH_SOURCE[-1]}")"
path_dir="$(dirname "$path_script")"
for domain in "login.wownero.com" "wownero.com" "git.wownero.com"; do
host="root@$domain"
tmpd=`ssh $dontcare "$host" "mktemp -d -t wow-XXXXXXXXXX"`
if [ -z "$tmpd" ]
then
echo "[$domain] failed to create tmp directory"
continue
fi
echo "[$domain] created $tmpd"
scp $dontcare -rP22 "$path_dir/backup.sh" "$host:$tmpd/backup.sh"
echo "[$domain] uploaded backup script"
ssh $dontcare "$host" "cd $tmpd; bash $tmpd/backup.sh"
echo "[$domain] executed backup script"
scp $dontcare -rP22 "$host:$tmpd" "$destination/$now-$domain"
echo "[$domain] downloaded backups"
ssh $dontcare "$host" "rm -rf $tmpd"
echo "[$domain] finished"
done
rm "$lockfile"
# delete old files
find $destination -type f -mtime +40 -delete
Loading…
Cancel
Save