summaryrefslogtreecommitdiff
path: root/backup.sh
blob: c5abbe48a5d3bdacbe95b9f95ab45e806f5b1925 (plain)
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
#!/bin/sh
BKP_ROOT=$HOME/media/59G
[ -z "$BKP_ROOT" ] && printf "BKP_ROOT not set\n" && exit 1
[ ! -d "$BKP_ROOT" ] && printf "No %s\n" "$BKP_ROOT" && exit 1
ssh-add -L >/dev/null || ssh-add
rm -f /tmp/git_fetch.err
for d in $(ls -1d /media/storage/src_git_mirrors/*/); do
  printf "%s : \n" "$d"
  git -C $d fetch --tags -q 2>>/tmp/git_fetch.err
  [ $? -ne "0" ] && {
    printf "error fetching %s\n" $d >> /tmp/git_fetch.err
    continue
  }
  git -C $d remote get-url gitflic.ru 1>/dev/null 2>&1 && {
    git -C $d push gitflic.ru
    git -C $d push --tags gitflic.ru
  }
done
vps-backup.sh
vault=$HOME/vault
rsync -ahv $HOME/.config/systemd $vault/cfg/
# Installed pkgs https://wiki.archlinux.org/index.php/Pacman/Tips_and_tricks
pacman -Qqen | diff -u $vault/pacman_installed_pkg.txt - | patch -p0 -d/
pacman -Qm | diff -u $vault/pacman_Qm.txt - | patch -p0 -d/ # AUR pkgs
#luarocks --local list | diff -u $vault/luarocks_local.txt -|patch -p0 -d/
restic backup \
  --tag $(date --utc +%Y%m%dT%H%M%SZ) \
  --files-from=$HOME/dotfiles/restic_backup.list \
  --iexclude-file=$HOME/dotfiles/restic_exclude.list
restic check
printf "Running sync... " && sync -f $BKP_ROOT && printf "%s\n" $?
[ -f /tmp/git_fetch.err ] && printf "Review /tmp/git_fetch.err\n"