Redis speichert seine Daten regelmäßig in einer RDB-Datei auf der Festplatte, je nachdem, wie Snapshots konfiguriert sind.
Dieses Script sichert die Datenbank von Redis (und auch die anderen Instanzen, die z.B. für rspamd angelegt wurden, wenn Sie im selben Orner liegen), sowie die Config und speichert sie im S3 Bucket. Das Skript kann täglich durch einen Cron-Job gestartet werden.
#!/bin/bash
rdb_files="/var/lib/redis"
redis_cli="/usr/bin/redis-cli"
DIR=`date +%d-%m-%y`
DEST=~/redis_backups/redis-$DIR.tar.gz
echo save| $redis_cli
tar cfz $DEST $rdb_files /etc/redis /etc/init.d/redis*
# Copy to S3
BUCKET_NAME="[YOUR BUCKET NAME]"
BUCKET_DIR="redis_backups"
aws s3 cp $DEST s3://$BUCKET_NAME/$BUCKET_DIR/ && echo "Redis-Backup copied to S3"
# Delete all Files older than 7 days on S3 Backup
s3cmd ls -r s3://$BUCKET_NAME/$BUCKET_DIR/ | awk -v dys="7" 'BEGIN { depoch=(dys*86400);cepoch=(systime()-depoch) } { g>exit 1