Compare commits

..

2 Commits

Author SHA1 Message Date
7b1d0ef251 made script more robust 2024-03-17 14:08:34 +01:00
36e122b62c improved/ modernised "ex"-function 2024-03-17 14:01:36 +01:00
2 changed files with 58 additions and 28 deletions

View File

@ -186,26 +186,29 @@ colours() {
# ex - archive extractor # ex - archive extractor
# usage: ex <file> # usage: ex <file>
ex () ex() {
{ if [[ ! -f "$1" ]]; then
if [ -f $1 ] ; then echo "'$1' is not a valid file"
case $1 in return 1;
*.tar.bz2) tar xjf $1 ;; fi
*.tar.gz) tar xzf $1 ;; # FIXME 7z kann (theoretisch) tar
*.bz2) bunzip2 $1 ;; outdir=${1%.*}
*.rar) unrar x $1 ;; case "$1" in
*.gz) gunzip $1 ;; *.tar.bz2 | *.tbz | *.tbz2)
*.tar) tar xf $1 ;; tar xjf $1 -C $outdir;;
*.tbz2) tar xjf $1 ;; *.tar.gz | *.tgz)
*.tgz) tar xzf $1 ;; tar xzf $1 -C $outdir;;
*.zip) unzip $1 ;; *.tar)
*.Z) uncompress $1;; tar xf $1 -C $outdir;;
*.7z) 7z x $1 ;; *.7z | *.zip | *.gz | *.bz | *.bz2)
*) echo "'$1' cannot be extracted via ex()" ;; 7z x -o$outdir $1;;
esac *.rar)
else unrar x $1;;
echo "'$1' is not a valid file" *.Z)
fi uncompress $1;;
*)
echo "'$1' cannot be extracted via ex()";;
esac
} }
# BEGIN_KITTY_SHELL_INTEGRATION # BEGIN_KITTY_SHELL_INTEGRATION

View File

@ -10,20 +10,47 @@ shopt -s expand_aliases # make aliases work
############################### ###############################
BACKUP_DIR=/sync/backup BACKUP_DIR=/sync/backup
ensureDirectory $BACKUP_DIR
BACKUP_DIR_HOME=$BACKUP_DIR/home BACKUP_DIR_HOME=$BACKUP_DIR/home
rsync_backup $HOME/.ssh/ $BACKUP_DIR_HOME/.ssh/ ensureDirectory $BACKUP_DIR_HOME
backupDirectory $HOME/.ssh/ $BACKUP_DIR_HOME/.ssh/
BACKUP_DIR_ROOT=$BACKUP_DIR/root/etc BACKUP_DIR_ROOT=$BACKUP_DIR/root/etc
sd rsync_backup /etc/ddclient/ $BACKUP_DIR_ROOT/ddclient/ ensureRootDirectory $BACKUP_DIR_ROOT
sd rsync_backup /etc/ddclient.conf $BACKUP_DIR_ROOT/
sd rsync_backup /etc/letsencrypt/ $BACKUP_DIR_ROOT/letsencrypt/
sd rsync_backup /etc/nginx/ $BACKUP_DIR_ROOT/nginx/
sd rsync_backup /etc/ssh/ $BACKUP_DIR_ROOT/ssh/
sd rsync_backup /etc/wireguard/ $BACKUP_DIR_ROOT/wireguard/
sd rsync_backup /etc/hosts $BACKUP_DIR_ROOT/ sd rsync_backup /etc/hosts $BACKUP_DIR_ROOT/
sd rsync_backup /etc/docker/daemon.json $BACKUP_DIR_ROOT/docker/ sd rsync_backup /etc/ddclient.conf $BACKUP_DIR_ROOT/
backupRootDirectory /etc/ddclient/ $BACKUP_DIR_ROOT/ddclient/
backupRootDirectory /etc/letsencrypt/ $BACKUP_DIR_ROOT/letsencrypt/
backupRootDirectory /etc/nginx/ $BACKUP_DIR_ROOT/nginx/
backupRootDirectory /etc/ssh/ $BACKUP_DIR_ROOT/ssh/
backupRootDirectory /etc/wireguard/ $BACKUP_DIR_ROOT/wireguard/
backupRootDirectory /etc/docker/daemon.json $BACKUP_DIR_ROOT/docker/
backupRootDirectory() {
ensureRootDirectory $2
sd rsync_backup $1 $2
}
backupDirectory() {
ensureDirectory $2
rsync_backup $1 $2
}
ensureRootDirectory() {
ensureDirectory $1
sudo chown root:root $1
}
ensureDirectory() {
if [[ ! -e $1 ]]; then
mkdir -p $1
fi
}
##################### #####################
### upload backup ### ### upload backup ###
##################### #####################