29 lines
746 B
Bash
Executable File
29 lines
746 B
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# check args
|
|
SCRIPT_DIR=$(dirname $(realpath $0))
|
|
BOOK_DIR=${SCRIPT_DIR/\/.Books/}
|
|
|
|
if [[ $# -eq 2 && -e $1 && $2 =~ [0-9]+ ]]; then
|
|
# ls -1 /tmp/manuskriptbackups/ | wc -l
|
|
rollto=$(find /tmp/manuskriptbackups/ -name "*$1.*" -cmin +$2 | sort | tail -n1)
|
|
if [[ -n $rollto ]]; then
|
|
if [[ `pgrep -f "manuskript $1"` ]]; then
|
|
echo $1 is still open in Manuskript
|
|
else
|
|
mv $BOOK_DIR/$1 $BOOK_DIR/$1.$(date +"%Y-%m-%d_%H:%M:%S")
|
|
mv $rollto $BOOK_DIR/$1
|
|
echo $1 rolled back to $rollto
|
|
fi
|
|
else
|
|
echo There is no backup of $1 from more than $2 minutes ago.
|
|
fi
|
|
else
|
|
echo
|
|
echo "USAGE : rollback FILE N"
|
|
echo
|
|
echo " FILE : .msk file"
|
|
echo " N : minutes to roll back"
|
|
echo
|
|
fi
|