update
This commit is contained in:
Executable
+49
@@ -0,0 +1,49 @@
|
||||
#!/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
|
||||
Reference in New Issue
Block a user