2023-03-16 16:27:11 +01:00
|
|
|
#!/usr/bin/env bash
|
|
|
|
# This is just a simple script to backup VMCs in case something goes wrong
|
|
|
|
set -x
|
|
|
|
|
|
|
|
VMCDIR=~/PS2/VMC
|
|
|
|
BACKUPDIR=~/PS2-VMC-backups
|
|
|
|
|
|
|
|
mkdir -p $BACKUPDIR
|
2023-05-16 18:44:54 +02:00
|
|
|
# E.g. 2023-075TT171900, I don't think change of month matters and these are
|
2023-03-16 16:27:11 +01:00
|
|
|
# going to be small 8MB files anyway so seeing the age at glance is nice.
|
2023-03-19 19:12:12 +01:00
|
|
|
# WARNING: This doesn't handle DST switch although I don't expect to be
|
2023-03-16 16:27:11 +01:00
|
|
|
# playing or running this script during the problem hours
|
2023-05-16 18:44:54 +02:00
|
|
|
cp -arv "$VMCDIR" "$BACKUPDIR/$(date +%Y-%jT%H%M%S)"
|
2023-03-16 16:27:11 +01:00
|
|
|
|
2023-03-18 12:44:05 +01:00
|
|
|
# Samba is fun with permissions
|
2023-03-23 14:57:29 +01:00
|
|
|
chmod -R 777 $VMCDIR/..
|
2023-03-18 12:44:05 +01:00
|
|
|
chmod -R 777 $VMCDIR
|
|
|
|
chmod -R 777 $BACKUPDIR
|
|
|
|
|
2023-03-22 08:08:36 +01:00
|
|
|
# If duperemove is installed, perform FS based deduplication of backups
|
2024-06-11 19:58:27 +02:00
|
|
|
if hash duperemove 2> /dev/null; then
|
|
|
|
# recursive, dedupe, human-readable, hashfile is like ddrescue mapfile
|
|
|
|
duperemove -rdh --hashfile=$BACKUPDIR/duperemove.hashfile $BACKUPDIR/
|
2023-03-22 08:08:36 +01:00
|
|
|
fi
|
|
|
|
|
2023-03-17 20:50:10 +01:00
|
|
|
# Curiosity, show the space used
|
2023-05-16 18:44:54 +02:00
|
|
|
du -hcs --time $BACKUPDIR
|
2023-05-17 13:05:56 +02:00
|
|
|
df -h $BACKUPDIR
|
2023-05-16 18:44:54 +02:00
|
|
|
|
|
|
|
# When the script finished?
|
|
|
|
date "+%Y-%jT%H%M%S"
|
2023-03-17 20:50:10 +01:00
|
|
|
|
2023-03-16 16:27:11 +01:00
|
|
|
set +x
|