Files
scripts/monitorize_save_file.sh
T
2021-01-02 19:19:19 +01:00

50 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
readonly USAGE="
USAGE:
$(basename "$0") [FILE]"
function help_message() {
echo "$USAGE"
}
# check if there is any parameter
if [ "$#" -ne 1 ]; then
help_message
exit 0
fi
# check if the parameter is valid
if ! test -f "$1"; then
echo "File $1 does not exist."
exit 0
fi
# variables
readonly FILE_DIR="$(cd "$(dirname "$1")" && pwd)"
readonly FILE="$(basename "$1")"
OLD_DATE="$(date -r "$1" "+%Y-%m-%d_%H:%M:%S")"
cp "${FILE_DIR}/${FILE}" "${FILE_DIR}/${FILE}.${OLD_DATE}"
if ! test -f "${FILE_DIR}/${FILE}.tar"; then
tar -C "${FILE_DIR}" -cf "${FILE_DIR}/${FILE}.tar" "${FILE}.${OLD_DATE}"
echo "File ${FILE}.tar created."
echo "${FILE}.${OLD_DATE}"
else
tar -C "${FILE_DIR}" -rf "${FILE_DIR}/${FILE}.tar" "${FILE}.${OLD_DATE}"
echo "${FILE}.${OLD_DATE}"
fi
rm "${FILE_DIR}/${FILE}.${OLD_DATE}"
while true; do
sleep 5
DATE="$(date -r "$1" "+%Y-%m-%d_%H:%M:%S")"
if [ "$DATE" != "$OLD_DATE" ]; then
echo "${FILE}.${DATE}"
cp "${FILE_DIR}/${FILE}" "${FILE_DIR}/${FILE}.${DATE}"
tar -C "${FILE_DIR}" -rf "${FILE_DIR}/${FILE}.tar" "${FILE}.${DATE}"
rm "${FILE_DIR}/${FILE}.${DATE}"
OLD_DATE=$DATE
fi
done