批量備份多個資料庫
#!/bin/bash
BACKUP_HOST=”localhost”
BACKUP_USER=”root”
BACKUP_PASS=”123456″
BACKUP_DIR=”/backup/mysql”
BACKUP_DBNAME=”one two three”
COPIES=10
MYSQLDUMP=”mysqldump”
TIMEPOINT=$(date +%Y-%m-%d)
MYSQLDUMP_OPTS=”-h $BACKUP_HOST -u$BACKUP_USER -p$BACKUP_PASS”
umask 0077
test ! -d “$BACKUP_DIR” && mkdir -p “$BACKUP_DIR”
test ! -w $BACKUP_DIR && echo “Error: $BACKUP_DIR is un-writeable.” && exit 0
for dbname in $BACKUP_DBNAME
do
test ! -d “$BACKUP_DIR/$dbname” && mkdir -p “$BACKUP_DIR/$dbname”
$MYSQLDUMP $MYSQLDUMP_OPTS $dbname | gzip > $BACKUP_DIR/$dbname/$dbname.$TIMEPOINT.sql.gz
done
find $BACKUP_DIR -type f -mtime +$COPIES -delete
網站目錄備份
#!/bin/bash
BACKUP_DIR=/backup/website
WEBSITE_DIR=/www
TIMEPOINT=$(date +%Y-%m-%d)
COPIES=10
test ! -d “$BACKUP_DIR” && mkdir -p “$BACKUP_DIR”
test ! -w $BACKUP_DIR && echo “Error: $BACKUP_DIR is un-writeable.” && exit 0
umask 0077
tar -zcf $BACKUP_DIR/www.$TIMEPOINT.tar.gz $WEBSITE_DIR
find $BACKUP_DIR -type f -mtime +$COPIES -delete
目錄rsync同步(需先安裝配置rsync)
#!/bin/sh
srcdir1=/www/example1.com
srcdir2=/www/example2.com
dstdir3=jszb@111.111.111.111::example1
dstdir4=jszb@222.222.222.222::example2
rsync -avz –delete –progress –password-file=/backup/bash/rsync.pas $srcdir1 $dstdir3 &
rsync -avz –delete –progress –password-file=/backup/bash/rsync.pas $srcdir2 $dstdir4 &
nginx日誌切割
#!/bin/bash
logs_path=”/usr/local/webserver/nginx/logs/”
mkdir -p ${logs_path}$(date -d “yesterday” +”%Y”)/$(date -d “yesterday” +”%m”)/
mv ${logs_path}access.log ${logs_path}$(date -d “yesterday” +”%Y”)/$(date -d “yesterday” +”%m”)/access_$(date -d “yesterday” +”%Y%m%d”).log
kill -USR1 `cat /usr/local/webserver/nginx/nginx.pid`