Skip to content

Instantly share code, notes, and snippets.

@Systerr
Last active April 8, 2021 12:44
Show Gist options
  • Save Systerr/60ea98801923d6f2508d to your computer and use it in GitHub Desktop.
Save Systerr/60ea98801923d6f2508d to your computer and use it in GitHub Desktop.
Backup
# Execute :crontab -e
# add folow lines (create backup at 4-30 o'clock every day):
30 04 * * * /root/mysql-dump.sh
#!/bin/sh
DAY=`date +%d`
KEEP_DAYS=3
DIR=$(($DAY % $KEEP_DAYS))
tar -chvpzf /var/backup/files/$DIR.tar.gz /var/www
#!/bin/sh
DIR=`date +%d`
DEST=/var/backups/mongo/$DIR
mkdir $DEST
mongodump -o $DEST
tar -cvzf /var/backups/mongo/$DIR.tar.gz $DEST
rm -r $DEST
cp /var/backups/mongo/$DIR.tar.gz /mnt/s3/mongo/$DIR.tar.gz
#!/bin/sh
DIR=`date +%d-%H`
DEST=/var/backups/mongo/$DIR
mkdir $DEST
mongodump -o $DEST
tar -cvzf /var/backups/mongo/$DIR.tar.gz $DEST
rm -r $DEST
#! /bin/bash
TIMESTAMP=$(date +"%F")
BACKUP_DIR="/backup/$TIMESTAMP"
MYSQL_USER="backup"
MYSQL=/usr/bin/mysql
MYSQL_PASSWORD="password"
MYSQLDUMP=/usr/bin/mysqldump
mkdir -p "$BACKUP_DIR/mysql"
databases=`$MYSQL --user=$MYSQL_USER -p$MYSQL_PASSWORD -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema|performance_schema)"`
for db in $databases; do
$MYSQLDUMP --force --opt --user=$MYSQL_USER -p$MYSQL_PASSWORD --databases $db | gzip > "$BACKUP_DIR/mysql/$db.gz"
done
#!/bin/sh
DIR=`date +%d`
mysqldump -uroot -pSECRETPASSWORD -h127.0.0.1 --all-databases | gzip > /var/backups/mysql/$DIR.gz
#!/bin/sh
DIR=`date +%d`
mysqldump -uroot -pSECRETPASSWORD -h127.0.0.1 --all-databases --single-transaction | gzip > /var/backups/mysql/$DIR.gz
#!/bin/sh
DIR=`date +%d`
pg_dumpall | gzip > /var/backups/pgsql/$DIR.gz
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment