Thursday, August 25, 2011
Smart Backup
ssh Remote sever Backup (without smart backup)
Go backup server 47.68
create a user use /sbin/useradd sglx2
add password use passwd sglx2 123123123
cd /home/sglx2/
mkdir .ssh
cd /.ssh
vi authorized_keys (new file), copy all the contain inside
check backup script how it run, then
check the file at /home/sglx2 (normallly is symbolic link), create the folder accordigly and link them.
after create folder, remember check the folder owner right.
-mkdir sglx2 (at data1, data2,data3 and data4)
-chown sglx2:sglx2 sglx2
-ln -s /data1/sglx2 /home/sglx2/backup1
go current server,
cd /root/.ssh
vi id_dsa.pub
(paste authorized_keys copy from backup server)
With smart backup
go backup server 47.68
vi ips1/createBackupRepo
cd /disks/sdaa1/
/ips1/createBackupRepo
vi /etc/rsyncd.secrets ( ket in password [a])
Go new server
cd /ips1
vi rsync.login (put in password [a])
fwup changes(folo ns56) *allow backup:
1. copy to new server
Copy smartbackup script to new server. test run, if backup server got file then success!
########################
Smart Backup ns56
#########################
#!/bin/bash
set -x
DEST_SERVER="210.5.47.68"
DEST_LOGIN="ns56"
DEST_FOLDER="ns56_backup"
TODAY=$(date +"%a")
NOW=$(date +"%d-%m-%Y")
i=$(date +"%Hh%Mm%Ss")
FILE="i.$NOW-$i.tar.gz"
zdate=$(date +"%F")
chmod 600 /ips1/rsync.login
#---------------------------------------------
# folder check
#---------------------------------------------
if [ ! -d "/ips1/tar.data" ]; then
mkdir /ips1/tar.data
fi
if [ ! -d "/ips1/tar.data/home" ]; then
mkdir /ips1/tar.data/home
fi
#---------------------------------------------
full_backup() {
#---------------------------------------------
case $TODAY in
Sun) DATA_PATH="backup_week";;
Mon) DATA_PATH="backup1";;
Tue) DATA_PATH="backup2";;
Wed) DATA_PATH="backup3";;
Thu) DATA_PATH="backup1";;
Fri) DATA_PATH="backup2";;
Sat) DATA_PATH="backup3";;
*) ;;
esac
#create coin file
date "+%F" > /home/zzdate.txt
date "+%F" > /root/zzdate.txt
date "+%F" > /etc/zzdate.txt
date "+%F" > /var/lib/mysql/zzdate.txt
date "+%F" > /var/named/zzdate.txt
date "+%F" > /usr/local/directadmin/zzdate.txt
date "+%F" > /var/www/html/webmail/zzdate.txt
# --------------------------------------
# backup home
# --------------------------------------
cd /home
for u in *; do
#rsync --password-file=/ips1/rsync.login -r --owner --group -v --progress --delete $u rsync://$DEST_LOGIN@$DEST_SERVER:/$DEST_FOLDER/$DATA_PATH/home/
rsync --compress --password-file=/ips1/rsync.login -r --times --perms --links --owner --group -v --progress --delete --exclude *.tar.gz --exclude *.iso $u rsync://$DEST_LOGIN@$DEST_SERVER:/$DEST_LOGIN\_$DATA_PATH/home
done
# --------------------------------------
# backup etc
# --------------------------------------
rsync --compress --password-file=/ips1/rsync.login -r --times --perms --links --owner --group -v --progress --delete /etc rsync://$DEST_LOGIN@$DEST_SERVER:/$DEST_LOGIN\_$DATA_PATH/
rsync --compress --password-file=/ips1/rsync.login -r --times --perms --links --owner --group -v --progress --delete /var/named rsync://$DEST_LOGIN@$DEST_SERVER:/$DEST_LOGIN\_$DATA_PATH/
rsync --compress --password-file=/ips1/rsync.login -r --times --perms --links --owner --group -v --progress --delete /usr/local/directadmin rsync://$DEST_LOGIN@$DEST_SERVER:/$DEST_LOGIN\_$DATA_PATH/directadmin
rsync --compress --password-file=/ips1/rsync.login -r --times --perms --links --owner --group -v --progress --delete /var/spool/cron rsync://$DEST_LOGIN@$DEST_SERVER:/$DEST_LOGIN\_$DATA_PATH/cron
rsync --compress --password-file=/ips1/rsync.login -r --times --perms --links --owner --group -v --progress --delete /var/lib/mysql rsync://$DEST_LOGIN@$DEST_SERVER:/$DEST_LOGIN\_$DATA_PATH/mysql
rsync --compress --password-file=/ips1/rsync.login -r --times --perms --links --owner --group -v --progress --delete /var/www/html/squirrelmail rsync://$DEST_LOGIN@$DEST_SERVER:/$DEST_LOGIN\_$DATA_PATH/
#monitor rsync_backup
/usr/bin/curl http://210.48.154.215/ips1/update_db.php?zzdate=$zdate\&zzhost=$DEST_LOGIN\&zzpath=$DATA_PATH
}
#---------------------------------------------
# MAIN()
#---------------------------------------------
full_backup
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment