diff --git a/monitorize_save_file.sh b/monitorize_save_file.sh new file mode 100755 index 0000000..8ae3c0e --- /dev/null +++ b/monitorize_save_file.sh @@ -0,0 +1,39 @@ +#!/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")" +echo "${FILE}.${OLD_DATE}" +cp "${FILE_DIR}/${FILE}" "${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}" + OLD_DATE=$DATE + fi +done