mirror of
https://github.com/Matir/skel.git
synced 2026-05-25 21:19:09 -07:00
Cleanup
This commit is contained in:
38
bin/linux/backup.sh
Executable file
38
bin/linux/backup.sh
Executable file
@@ -0,0 +1,38 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -o nounset
|
||||
set -o errexit
|
||||
|
||||
if [ "$(uname)" != "Linux" ]; then
|
||||
echo "Error: This backup script is only intended for use on Linux." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
DEFAULT=`echo /media/${USER}/[bB]ackup/${USER}/`
|
||||
DEST="${1:-${DEFAULT}}"
|
||||
|
||||
function verify_dest {
|
||||
arr=($1)
|
||||
items=${#arr[@]}
|
||||
if [ $items -ne 1 ] ; then
|
||||
echo "Bad count of backup destinations." > /dev/stderr
|
||||
exit 1
|
||||
fi
|
||||
dir="$1"
|
||||
end=$((${#dir}-1))
|
||||
last="${dir:$end:1}"
|
||||
if [ "$last" != "/" ] ; then
|
||||
echo -n "Destination $dir does not end in a /, " > /dev/stderr
|
||||
echo "this is probably not what you want!" > /dev/stderr
|
||||
echo "Press a key to continue, or CTRL-C to cancel." > /dev/stderr
|
||||
read
|
||||
fi
|
||||
}
|
||||
|
||||
verify_dest "$DEST"
|
||||
|
||||
time nice rsync -Hax --delete --exclude-from="$HOME/.rsync_ignore" \
|
||||
--delete-excluded "${HOME}/" "$DEST"
|
||||
echo "Backup completed..."
|
||||
time sync
|
||||
echo "Run finished, safe to unmount."
|
||||
Reference in New Issue
Block a user