当前位置: 技术问答>linux和unix
LUNIX平台下mysql自动备份,急急急 !
来源: 互联网 发布时间:2016-03-27
本文导语: 最近安排了一个实现LUNIX平台下MYSql自动备份的任务,具体要求是每天定时进行备份,并将备份文件分别存放在7个一周几命名的文件夹了; 例如: 每周一定时备份的文件存放在以周一命名的文件夹里;每周二定时备份的文...
最近安排了一个实现LUNIX平台下MYSql自动备份的任务,具体要求是每天定时进行备份,并将备份文件分别存放在7个一周几命名的文件夹了;
例如: 每周一定时备份的文件存放在以周一命名的文件夹里;每周二定时备份的文件存放在以周二命名的文件夹里.........以前从没接触过
LUNIX平台,更何况这么复杂的操作,救救急呀....不胜感激!
例如: 每周一定时备份的文件存放在以周一命名的文件夹里;每周二定时备份的文件存放在以周二命名的文件夹里.........以前从没接触过
LUNIX平台,更何况这么复杂的操作,救救急呀....不胜感激!
|
1每天备份策略backupdaily.sh
[root@linux ~]# vi /disk2/backup/backupdaily.sh
#!/bin/bash
#
# This program is created by VBird 2002/06/13
#
# What is this program?
# This program will backup the following messages:
# 1. MySQL data files ( /var/lib/mysql );
# 2. HTTP's CGI-directory ( /var/www/cgi-bin )
#
# HOW TO RUN THIS PROGRAM?
# Just put the file into /etc/crontab job,
# or put this file's link file to /etc/cron.daily!
#
###############################################################
# History
# Date What Who
#==============================================================
# 2002/06/13 First time to run this program
# The only backup files are MySQL and CGI VBird
#==============================================================
# 0. Get the date messages and backup directory
day=`date +%Y-%m-%d`
basedir="/disk2/backup/daily"
# 1. MySQL ( PATH = /var/lib/mysql )
/etc/rc.d/init.d/mysqld stop
cd /var/lib
tar -zcf "$basedir"/mysql."$day".tar.gz mysql 2> /dev/null
/etc/rc.d/init.d/mysqld start
# 2. CGI ( PATH = /var/www/cgi-bin )
cd /var/www
tar -zcf "$basedir"/cgi-bin."$day".tar.gz cgi-bin 2> /dev/null
2. 每周备份的资料
[root@linux ~]# mkdir /disk2/backup
[root@linux ~]# vi /disk2/backup/backupweekly.sh
#!/bin/bash
# ==============================================================
# History
# When Who What
# 2000/12/16 VBird first time to release
# 2002/03/26 VBird Adding ftp services' backup in /disk2/backup/ftp
# 2003/07/03 VBird 发现解压缩之后会有一些错误资料发生!
# 所以将 tar 加入 -p 的参数!
# 2005/01/02 VBird 怀疑可能因为备份期间硬碟运转的问题导致当机,
# 所以,加上多个 sleep 以及 sync 的功能!
# ==============================================================
PATH=/bin:/usr/bin:/sbin:/usr/sbin; export PATH
LANG=C; export LANG
LC_ALL=C; export LC_ALL
# 设定路径来备份
basedir=/disk2/backup
named=$basedir/named
postfixd=$basedir/postfix
vsftpd=$basedir/vsftp
sshd=$basedir/ssh
sambad=$basedir/samba
wwwd=$basedir/www
others=$basedir/others
userinfod=$basedir/userinfo
# ===============================================================
# 1. 系统的相关服务,主要服务有∶
# (1) BIND server:
# (2) Postfix:
# (3) vsftp:
# (4) sshd:
# (5) samba:
# (6) WWW:
# (7) Others:其他系统必须要的一些资讯!
# 1.1 系统的 BIND 套件,主要是 DNS 的设定档备份!
cp -a /var/named/chroot/etc $named/chroot
cp -a /var/named/chroot/var $named/chroot
# 1.2 系统的 Postfix Server 相关的档案备份资料!
cp -a /etc/postfix/* $postfixd 2> /dev/null
cp -a /etc/rc.d/init.d/postfix $postfixd
cp -a /etc/dovecot.conf $postfixd
# 1.3 系统的 vsftpd 伺服器的仅有的设定档喔!
cp -a /etc/vsftpd/* $vsftpd
cp -a /etc/vsftpd.* $vsftpd
# 1.4 系统的 sshd 伺服器的设定档案!
cp -a /etc/ssh/* $sshd
# 1.5 系统的 Samba 所动用的档案
cp -a /etc/samba/* $sambad
# 1.6 WWW
cp -a /etc/my.cnf $wwwd
cp -a /etc/php.ini $wwwd
cp -a /etc/httpd/conf/httpd.conf $wwwd
cp -a /etc/httpd/conf.d $wwwd
cp -a /etc/httpd/conf.d/vbird.conf* $wwwd
cd /usr/local
tar -pcf $wwwd/counter-data.tar Counter/data
cd /var/lib
tar -pcf $wwwd/mysql-lib.tar mysql --exclude mysql/mysql.sock
cd /var
tar -pcf $wwwd/www-cgi-icon.tar www/cgi-bin www/icons
# 1.7 Others
cp -a /etc/hosts $others
cp -a /etc/hosts.allow $others
cp -a /etc/hosts.deny $others
cp -a /etc/modprobe.conf* $others
cp -a /etc/fstab $others
cp -a /etc/resolv.conf $others
cp -a /etc/shells $others
cp -a /etc/wgetrc $others
cp -a /etc/crontab $others
cp -a /etc/sysconfig/i18n $others
cp -a /etc/sysconfig/network $others
cp -a /etc/sysconfig/network-scripts/ifcfg-eth0 $others
cd /
tar -pcf $others/etc.tar etc
cd /usr
tar -pcf $others/local.tar local
sleep 5s
sync; sync
# ============================================================================
# 2. 主机的重要资料与资料库系统
# (1) 使用者的资讯 重点在 /etc/passwd, shadow, group 以及电子邮件、家目录
# 2.1
cp -a /etc/passwd $userinfod
cp -a /etc/shadow $userinfod
cp -a /etc/group $userinfod
cd /var/spool
tar -pcf $userinfod/mail.tar mail
cd /
tar -pcf $userinfod/home.tar home --exclude home/lost+found
sleep 5s
sync; sync
# ============================================================================
# 3. 将主机的重要资料复制到 192.168.1.100 那部机器上面去!
# 3.1 压缩与打包
cd $basedir
tar -zpcf backupweekly.tar.gz * --exclude backupweekly.tar.gz
sleep 5s
sync; sync
# 3.2 ftp 到 192.168.1.100
id="username"
pw='yourpassword'
cd $basedir
ftp -n 192.168.1.100 > $basedir/backup.ftp.log 2>&1
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
站内导航:
特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!