2021-12-28 02:54:26 -06:00
#!/bin/sh
2021-11-27 19:30:34 -06:00
2021-12-02 13:32:27 -06:00
# This script backs up some important stuff
2021-11-27 19:30:34 -06:00
2022-10-04 21:44:51 -05:00
# force script to run as specific user
if [ "$(id -u)" -eq 0 ]; then
exec sudo -H -u sintan $0 "$@"
fi
2025-01-17 00:02:21 -06:00
if ! $(ping server-ts -nqc 1 -W 1 >/dev/null 2>&1); then
echo "Remote machine not available. Exiting..."
exit 1
fi
2024-12-02 12:30:01 -06:00
# Exit the whole script when ctrl+c is pressed
set -e
2022-07-31 19:03:32 -05:00
# Run only one instance of this script at one time
2022-08-01 21:47:07 -05:00
[ "${BKLOCKER}" != "running" ] && exec env BKLOCKER="running" flock -en "/tmp/impfilesbk.lock" "$0" "$@" || :
2022-07-31 19:03:32 -05:00
2022-06-15 01:46:58 -05:00
# Setup location for home and backup directory
2022-07-29 21:50:49 -05:00
HMDIR="/home/sintan"
2025-01-20 15:21:29 -06:00
BKDIR_SSD="server-rsync:/home/sintan"
BKDIR_HDD="server-rsync:/mnt/storage"
2022-09-17 22:09:28 -05:00
LGDIR="/home/sintan"
2022-12-14 18:19:48 -06:00
echo "--------------------------------------------------" | tee -a "$LGDIR/TempStorage/impfilesbk.log"
2025-01-17 00:02:21 -06:00
echo "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" | tee -a "$LGDIR/TempStorage/impfilesbk.log"
2022-12-14 18:19:48 -06:00
echo "--------------------------------------------------" | tee -a "$LGDIR/TempStorage/impfilesbk.log"
2025-01-17 00:02:21 -06:00
echo $(date) "| Backing up Code..." | tee -a "$LGDIR/TempStorage/impfilesbk.log"
rsync -aAXH --delete --stats --exclude '*/*/target/' --exclude 'git/*/lake-packages/' \
2025-01-20 15:21:29 -06:00
--exclude 'git/*/build/' "$HMDIR/Code/" "$BKDIR_HDD/Code/" | tee -a "$LGDIR/TempStorage/impfilesbk.log"
2023-07-16 18:23:00 -05:00
echo $'\n'$(date) "| Done!" | tee -a "$LGDIR/TempStorage/impfilesbk.log"
2022-12-14 18:19:48 -06:00
echo "--------------------------------------------------" | tee -a "$LGDIR/TempStorage/impfilesbk.log"
2025-01-17 00:02:21 -06:00
echo $(date) "| Backing up Pictures..." | tee -a "$LGDIR/TempStorage/impfilesbk.log"
2025-01-20 15:21:29 -06:00
rsync -aAXH --delete --stats "$HMDIR/Pictures/" "$BKDIR_SSD/Pictures/" | tee -a "$LGDIR/TempStorage/impfilesbk.log"
2023-07-16 18:23:00 -05:00
echo $'\n'$(date) "| Done!" | tee -a "$LGDIR/TempStorage/impfilesbk.log"
2022-12-14 18:19:48 -06:00
echo "--------------------------------------------------" | tee -a "$LGDIR/TempStorage/impfilesbk.log"
2025-01-17 00:02:21 -06:00
echo $(date) "| Backing up Videos..." | tee -a "$LGDIR/TempStorage/impfilesbk.log"
2025-01-20 15:21:29 -06:00
rsync -aAXH --delete --stats "$HMDIR/Videos/" "$BKDIR_SSD/Videos/" | tee -a "$LGDIR/TempStorage/impfilesbk.log"
2023-07-16 18:23:00 -05:00
echo $'\n'$(date) "| Done!" | tee -a "$LGDIR/TempStorage/impfilesbk.log"
2022-12-14 18:19:48 -06:00
echo "--------------------------------------------------" | tee -a "$LGDIR/TempStorage/impfilesbk.log"
2025-01-17 00:02:21 -06:00
echo $(date) "| Backing up Zotero..." | tee -a "$LGDIR/TempStorage/impfilesbk.log"
2025-01-20 15:21:29 -06:00
rsync -aAXH --delete --stats "$HMDIR/Zotero/" "$BKDIR_HDD/Zotero/" | tee -a "$LGDIR/TempStorage/impfilesbk.log"
2023-07-16 18:23:00 -05:00
echo $'\n'$(date) "| Done!" | tee -a "$LGDIR/TempStorage/impfilesbk.log"
2022-12-14 18:19:48 -06:00
echo "--------------------------------------------------" | tee -a "$LGDIR/TempStorage/impfilesbk.log"
2025-01-17 00:02:21 -06:00
echo $(date) "| Backing up some dotfiles..." | tee -a "$LGDIR/TempStorage/impfilesbk.log"
2025-01-21 13:01:15 -06:00
rsync -aAXH --delete --stats --quiet --no-links --exclude={'*cache*','*Cache*','*autosave*','Signal','chromium','Code','Code - OSS','discord','vivaldi','Ferdium/Partitions'} \
2025-01-21 13:04:52 -06:00
--delete-excluded "$HMDIR/.config/" "$BKDIR_HDD/dotfiles_laptop/[dot]config/" | tee -a "$LGDIR/TempStorage/impfilesbk.log"
rsync -aAXH --delete --stats "$HMDIR/.profile" "$BKDIR_HDD/dotfiles_laptop/[dot]profile" | tee -a "$LGDIR/TempStorage/impfilesbk.log"
rsync -aAXH --delete --stats "$HMDIR/.bashrc" "$BKDIR_HDD/dotfiles_laptop/[dot]bashrc" | tee -a "$LGDIR/TempStorage/impfilesbk.log"
rsync -aAXH --delete --stats "$HMDIR/.Xresources" "$BKDIR_HDD/dotfiles_laptop/[dot]Xresources" | tee -a "$LGDIR/TempStorage/impfilesbk.log"
rsync -aAXH --delete --stats "$HMDIR/.local/bin/personal/" "$BKDIR_HDD/dotfiles_laptop/[dot]local_bin_personal/" | tee -a "$LGDIR/TempStorage/impfilesbk.log"
rsync -aAXH --delete --stats "$HMDIR/.ssh/" "$BKDIR_HDD/dotfiles_laptop/[dot]ssh/" | tee -a "$LGDIR/TempStorage/impfilesbk.log"
2023-07-16 18:23:00 -05:00
echo $'\n'$(date) "| Done!" | tee -a "$LGDIR/TempStorage/impfilesbk.log"
2022-12-14 18:19:48 -06:00
echo "--------------------------------------------------" | tee -a "$LGDIR/TempStorage/impfilesbk.log"
2025-01-17 00:02:21 -06:00
echo $(date) "| Pulling pkglists_server from server..." | tee -a "$LGDIR/TempStorage/impfilesbk.log"
2025-01-20 15:21:29 -06:00
rsync -aAXH --delete --stats "$BKDIR_HDD/Documents/Backup/pkglists_server/" "$HMDIR/Documents/Backup/pkglists_server/" | tee -a "$LGDIR/TempStorage/impfilesbk.log"
2023-07-16 18:23:00 -05:00
echo $'\n'$(date) "| Done!" | tee -a "$LGDIR/TempStorage/impfilesbk.log"
2022-12-14 18:19:48 -06:00
echo "--------------------------------------------------" | tee -a "$LGDIR/TempStorage/impfilesbk.log"
2025-01-17 00:02:21 -06:00
echo $(date) "| Backing up Documents..." | tee -a "$LGDIR/TempStorage/impfilesbk.log"
2025-01-20 15:21:29 -06:00
rsync -aAXH --delete --stats "$HMDIR/Documents/" "$BKDIR_HDD/Documents/" | tee -a "$LGDIR/TempStorage/impfilesbk.log"
2023-07-16 18:23:00 -05:00
echo $'\n'$(date) "| Done!" | tee -a "$LGDIR/TempStorage/impfilesbk.log"
2022-12-14 18:19:48 -06:00
echo "--------------------------------------------------" | tee -a "$LGDIR/TempStorage/impfilesbk.log"
2025-01-17 00:02:21 -06:00
echo $(date) "| Pulling Programs from server..." | tee -a "$LGDIR/TempStorage/impfilesbk.log"
2025-01-20 15:21:29 -06:00
rsync -aAXH --delete --stats "$BKDIR_HDD/Programs/" "$HMDIR/Programs/" | tee -a "$LGDIR/TempStorage/impfilesbk.log"
2023-07-16 18:23:00 -05:00
echo $'\n'$(date) "| Done!" | tee -a "$LGDIR/TempStorage/impfilesbk.log"
2022-12-14 18:19:48 -06:00
echo "--------------------------------------------------" | tee -a "$LGDIR/TempStorage/impfilesbk.log"
2023-10-18 17:43:44 -05:00
echo $(date) "| Pulling Music from server..." | tee -a "$LGDIR/TempStorage/impfilesbk.log"
2025-01-20 15:21:29 -06:00
rsync -aAXH --delete --stats "$BKDIR_HDD/Music/" "$HMDIR/Music/" | tee -a "$LGDIR/TempStorage/impfilesbk.log"
2023-07-16 18:23:00 -05:00
echo $'\n'$(date) "| Done!" | tee -a "$LGDIR/TempStorage/impfilesbk.log"
2022-12-14 18:19:48 -06:00
echo "--------------------------------------------------" | tee -a "$LGDIR/TempStorage/impfilesbk.log"
2022-09-17 22:09:28 -05:00
echo $'\n'"--------------------------------------------------" | tee -a "$LGDIR/TempStorage/impfilesbk.log"
echo "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" | tee -a "$LGDIR/TempStorage/impfilesbk.log"
echo "--------------------------------------------------" | tee -a "$LGDIR/TempStorage/impfilesbk.log"