26 lines
623 B
Bash
Executable File
26 lines
623 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
readonly RSYNC_USER="${RSYNC_USER}"
|
|
readonly RSYNC_SERVER="${RSYNC_SERVER}"
|
|
|
|
main() {
|
|
local filepath="$1"
|
|
local name
|
|
name="$(basename "${filepath}")"
|
|
|
|
# Stagger transfers to avoid congestion at the hour mark.
|
|
sleep $((RANDOM % 180))
|
|
|
|
# Limit bandwidth so the backup does not saturate the connection.
|
|
rsync --archive --verbose --bwlimit=4096 \
|
|
"${HOME}/timelapse/${name}" \
|
|
"${RSYNC_USER}@${RSYNC_SERVER}:/timelapse/${name}"
|
|
|
|
# Delete outdated files.
|
|
# This assumes the timelapse is created on an hourly basis.
|
|
rm -f "$1"
|
|
find "${HOME}/timelapse/" -mmin +60 -delete
|
|
}
|
|
|
|
main "$@"
|