====== *backup.sh - бэкап файлов и базы mySQL ====== Резервная копия базы данных отправляется на почту # 0. VARIABLES EMAIL="backup@tuduf.ru" DATE=`date +%Y%m%d-%H%M%S-%Z` # 1. BACKUP PROCEDURE FOR FILES tar zcf backup/tuduf.ru-$DATE.tar.gz tuduf.ru/ # 2. BACKUP PRODECURE FOR MYSQL DATABASE HOSTNAME=имя_сервера_mysql DBNAME=имя_базы DBPASS=мой_пароль DBUSER=имя_пользователя mysqldump --opt -h $HOSTNAME -u $DBUSER -p$DBPASS $DBNAME > backup.sql gzip backup.sql mv backup.sql.gz $HOSTNAME-$DBNAME-$DATE.sql.gz echo "Backup of $DBNAME @ $HOSTNAME from $DATE is attached" | mutt -a $HOSTNAME-$DBNAME-$DATE.sql.gz $EMAIL -s "MySQL Backup of $DBNAME @ $HOSTNAME" mv $HOSTNAME-$DBNAME-$DATE.sql.gz backup/ # DONE! *Backup .dotfiles script #!/usr/bin/env bash # Backup .dotfiles script. # What to backup. backup_files="~/.config" # Where to backup to. dest="/mnt/data/backup" mkdir $dest/$(date +"%m_%d_%Y") # Create archive filename. hostname=$(hostname -s) archive_file="$hostname-$(date +"%m_%d_%Y").tgz" LOGDIR=/mnt/data/backup/$(date +"%m_%d_%Y") LOG=${LOGDIR}/backup-$(date +"%m_%d_%Y").log ERRLOG=${LOGDIR}/backup-$(date +"%m_%d_%Y").error.log # Print start status message. echo "Backing up $backup_files to $dest/$dest/$(date +"%m_%d_%Y")/$archive_file" date echo # Backup the files using tar. find . -maxdepth 1 -name ".config" -exec tar -czvf $dest/$(date +"%m_%d_%Y")/$archive_file $backup_files {} + > $LOG 2> $ERRLOG # Print end status message. echo echo "Backup finished" date # Long listing of files in $dest to check file sizes. ls -lh $dest/$(date +"%m_%d_%Y")