dotfiles/devops/bin/backup-dirs.sh
2021-01-18 00:33:07 +08:00

32 lines
530 B
Bash
Executable File

#!/bin/sh
set -e
if [ "$#" -lt 2 ] ;then
echo "Keep N days backup of a directory"
echo
echo " Usage $0 <days> <backup-dir> <src-dir ...>"
exit 1
fi
DIR=$(dirname "$(readlink -f "$0")")
DAY=$1
BKD=${2%/}
PTH=$BKD/$(date +%Y%m%d)
shift
shift
echo "start backing up on $(date)"
mkdir -p $PTH
while [ "$#" -gt 0 ] ;do
SRC=$1
echo " backing up $SRC"
tar -zcf "$PTH/$(basename $SRC).tar.gz" "$SRC"
shift
done
echo "start removing older archives"
"$DIR/rm-ndays-ago.sh" "$BKD" "$DAY"
echo "done!"