47 lines
1.1 KiB
Bash
Executable File
47 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# A script to perform incremental backups using rsync
|
|
|
|
set -o errexit
|
|
set -o nounset
|
|
set -o pipefail
|
|
|
|
readonly SOURCE_DIR="/home/roger/prova"
|
|
readonly BACKUP_DIR="/home/roger/backups"
|
|
readonly DATETIME="$(date '+%Y-%m-%d_%H:%M:%S')"
|
|
readonly BACKUP_PATH="${BACKUP_DIR}/${DATETIME}"
|
|
readonly LATEST_LINK="${BACKUP_DIR}/latest"
|
|
|
|
mkdir -p "${BACKUP_DIR}"
|
|
|
|
rsync -av --delete \
|
|
"${SOURCE_DIR}/" \
|
|
--link-dest "${LATEST_LINK}" \
|
|
--exclude=".cache" \
|
|
"${BACKUP_PATH}"
|
|
|
|
rm -rf "${LATEST_LINK}"
|
|
ln -s "${BACKUP_PATH}" "${LATEST_LINK}"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#rsync -AaxzvPh --delete /home/roger/prova/ --link-dest /home/roger/latest /home/roger/prova_inc1
|
|
#ln -s /home/roger/prova_inc1 /home/roger/latest
|
|
|
|
# add file into prova
|
|
|
|
rsync -rti --delete --dry-run /home/roger/prova/ /home/roger/latest/ 2>&1 | grep -v '^[^*]d' | head -
|
|
n1
|
|
|
|
#rsync -rtiv --link-dest "../latest/" "/home/roger/prova/" "/home/roger/provabkp_inc1"
|
|
sending incremental file list
|
|
created directory /home/roger/backups/provabkp_inc1
|
|
cd+++++++++ prova/
|
|
>f+++++++++ prova/file1.txt
|
|
>f+++++++++ prova/file2.txt
|
|
>f+++++++++ prova/file3.txt
|
|
>f+++++++++ prova/file4.txt
|