15
scripts/backup.sh
Normal file
15
scripts/backup.sh
Normal file
@@ -0,0 +1,15 @@
|
||||
#!/bin/sh
|
||||
|
||||
BACKUP_FILE="sqlite_$(date "+%F-%H%M%S")"
|
||||
|
||||
sqlite3 ${DB_FILE} ".backup '/tmp/db.sqlite'"
|
||||
tar -zcvf /tmp/${BACKUP_FILE}.tar.gz /tmp/db.sqlite
|
||||
|
||||
/scripts/minio_uploader.sh copy /tmp/${BACKUP_FILE}.tar.gz ${MINIO_PATH}
|
||||
|
||||
rm /tmp/${BACKUP_FILE}.tar.gz
|
||||
|
||||
if [ ! -z $DELETE_AFTER ] && [ $DELETE_AFTER -gt 0 ]
|
||||
then
|
||||
/scripts/deleteold.sh ${MINIO_PATH}
|
||||
fi
|
24
scripts/deleteold.sh
Normal file
24
scripts/deleteold.sh
Normal file
@@ -0,0 +1,24 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Seconds since epoch for current time
|
||||
DATE_NOW=$(date +%s)
|
||||
|
||||
/scripts/minio_uploader.sh list $MINIO_PATH | grep "sqlite_" | while read LINE
|
||||
do
|
||||
BACKUP_FILENAME=$(echo $LINE | awk '{ print $3 }')
|
||||
|
||||
BACKUP_DATE=$(echo $BACKUP_FILENAME | awk 'BEGIN { FS = "[_-]" } ; { printf "%s-%s-%s",$2,$3,$4 }')
|
||||
|
||||
if [[ $BACKUP_DATE =~ ^[0-9]{4}-[0-9]{2}-[0-9]{2}$ ]]
|
||||
then
|
||||
BACKUP_DATE_SECS=$(date -d $BACKUP_DATE +%s)
|
||||
|
||||
DAYS_DIFF=$(( ($DATE_NOW - $BACKUP_DATE_SECS) / (60*60*24) ))
|
||||
|
||||
if [ "$DAYS_DIFF" -gt "$DELETE_AFTER" ]
|
||||
then
|
||||
echo "File $BACKUP_FILENAME is $DAYS_DIFF days old (greater than $DELETE_AFTER days). Deleting it."
|
||||
/scripts/minio_uploader.sh delete /$BACKUP_FILENAME
|
||||
fi
|
||||
fi
|
||||
done
|
6
scripts/entrypoint.sh
Normal file
6
scripts/entrypoint.sh
Normal file
@@ -0,0 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
echo "${CRONTAB} /scripts/backup.sh" > /etc/crontabs/root
|
||||
|
||||
/scripts/backup.sh
|
||||
exec crond -f
|
18
scripts/minio_uploader.sh
Normal file
18
scripts/minio_uploader.sh
Normal file
@@ -0,0 +1,18 @@
|
||||
#!/bin/bash
|
||||
|
||||
rclone config create myminio s3 provider Minio access_key_id $MINIO_ACCOUNT_ID secret_access_key $MINIO_APPLICATION_KEY endpoint $MINIO_ENDPOINT region $MINIO_LOCATION acl private
|
||||
|
||||
case $1 in
|
||||
copy)
|
||||
echo "copy from $2 to $3"
|
||||
rclone copy --progress $2 $3
|
||||
;;
|
||||
list)
|
||||
echo "list $2"
|
||||
rclone ls $2
|
||||
;;
|
||||
delete)
|
||||
echo "delete $2"
|
||||
rclone delete $2
|
||||
;;
|
||||
esac
|
Reference in New Issue
Block a user