Jamers Posted December 20, 2014 Report Share Posted December 20, 2014 注意,由于这是在老版本的FREEBSD上运行的脚本,不能够保证能够使用在目前的10.1版本上,待验证。另外这是当时的环境路径,如有不同需要请修改相应路径。 FreeBSD小知识库备忘2006-11-10, 14:50在管理公司网络的时候会用到一些小技巧,备忘! 注意:以下路径均为Ports安装的路径,可能和其它部分路径不一致。 定时执行功能:代码ee /etc/crontab#分时日月星期#每天0点执行指定命令0 0 * * * /home/jamers/backup/website/utfipb_db.sh#每二小时执行一次0 */2 * * * /home/jamers/backup/website/utfipb_fb.sh#晚上11点到早上8点之间每两个小时,早上八点0 23-7/2,8 * * * /home/jamers/backup/config/configbackup.sh 备份数据库:代码#!/usr/local/bin/bash#This is a ShellScript For Auto DB Backup#Powered by aspbiz#2004-09 #Setting#设置数据库名,数据库登录名,密码,备份路径,日志路径,数据文件位置,以及备份方式#默认情况下备份方式是tar,还可以是mysqldump,mysqldotcopy#默认情况下,用root(空)登录mysql数据库,备份至/root/dbxxxxx.tgzDBName=utfipbDBUser=rootDBPasswd=BackupPath=/home/jamers/backup/website/LogFile=/home/jamers/backup/website/db.logDBPath=/var/db/mysql/BackupMethod=mysqldump#BackupMethod=mysqlhotcopy#BackupMethod=tar#Setting End NewFile="$BackupPath"utfipb_$(date +%Y%m%d)_db.tgzDumpFile=utfipb_$(date +%Y%m%d)_db.sqlOldFile="$BackupPath"utfipb_$(date -v -15d +%Y%m%d)_db.tgz echo "-------------------------------------------" >> $LogFileecho $(date +"%Y-%m-%d %H:%M:%S") >> $LogFileecho "--------------------------" >> $LogFile#Delete Old Fileif [ -f $OldFile ]then rm -f $OldFile >> $LogFile 2>&1 echo "[$OldFile]Delete Old File Success!" >> $LogFileelse echo "[$OldFile]No Old Backup File!" >> $LogFilefi if [ -f $NewFile ]then echo "[$NewFile]The Backup File is exists,Can't Backup!" >>$LogFileelse case $BackupMethod in mysqldump) if [ -z $DBPasswd ] then mysqldump -u $DBUser --opt $DBName > $DumpFile else mysqldump -u $DBUser -p$DBPasswd --opt $DBName > $DumpFile fi tar czvf $NewFile -C $BackupPath $DumpFile >> $LogFile 2>&1 echo "[$NewFile]Backup Success!" >> $LogFile rm -rf $DumpFile;; mysqlhotcopy) rm -rf $DumpFile mkdir $DumpFile if [ -z $DBPasswd ] then mysqlhotcopy -u $DBUser $DBName $DumpFile >> $LogFile 2>&1 else mysqlhotcopy -u $DBUser -p $DBPasswd $DBName $DumpFile >>$LogFile 2>&1 fi #tar czvf $NewFile $DumpFile >> $LogFile 2>&1 tar czvf $NewFile -C $BackupPath $DumpFile >> $LogFile 2>&1 echo "[$NewFile]Backup Success!" >> $LogFile rm -rf $DumpFile;; *) /etc/init.d/mysqld stop >/dev/null 2>&1 tar czvf $NewFile $DBPath$DBName >> $LogFile 2>&1 /etc/init.d/mysqld start >/dev/null 2>&1 echo "[$NewFile]Backup Success!" >> $LogFile;; esacfi echo "-------------------------------------------" >> $LogFile 备份网站:代码#!/usr/local/bin/bash#This is a ShellScript For Auto WEBSITE Backup#Powered by Jamers#2006-11-10 #Setting#设置文件列表名BackupPath=/home/jamers/backup/website/LogFile=/home/jamers/backup/website/fb.logWorkDir=/usr/local/www/apache22/data#FullDir=/usr/local/www/apache22/data/ipb#Setting End NewFile="$BackupPath"utfipb_$(date +%Y%m%d).tgzDumpFile="$BackupPath"utfipb_$(date +%Y%m%d).sqlOldFile="$BackupPath"utfipb_$(date -v -15d +%Y%m%d).tgz echo "-------------------------------------------" >> $LogFileecho $(date +"%Y-%m-%d %H:%M:%S") >> $LogFileecho "-------------------------------------------" >> $LogFile#Delete Old Fileif [ -f $OldFile ]then rm -f $OldFile >> $LogFile 2>&1 echo "[$OldFile]Delete Old File Success!" >> $LogFileelse echo "[$OldFile]No Old Backup File!" >> $LogFilefi if [ -f $NewFile ]then echo "[$NewFile]The Backup File is exists,Can't Backup!" >>$LogFileelse tar czvf $NewFile -C $WorkDir ipb >> $LogFile 2>&1fi echo "-------------------------------------------" >> $LogFile 备份FreeBSD配置信息:代码#!/usr/local/bin/bash#This is a ShellScript For Auto Config Backup#Powered by Jamers#2006-11-10 #Setting#设置文件列表名BackupPath=/home/jamers/backup/config/LogFile=/home/jamers/backup/config/backup.logFileList=/home/jamers/backup/config/needlist#Setting End NewFile="$BackupPath"config$(date +%Y%m%d).tgzDumpFile="$BackupPath"config$(date +%Y%m%d).sqlOldFile="$BackupPath"config$(date -v -15d +%Y%m%d).tgz echo "-------------------------------------------" >> $LogFileecho $(date +"%Y-%m-%d %H:%M:%S") >> $LogFileecho "-------------------------------------------" >> $LogFile#Delete Old Fileif [ -f $OldFile ]then rm -f $OldFile >> $LogFile 2>&1 echo "[$OldFile]Delete Old File Success!" >> $LogFileelse echo "[$OldFile]No Old Backup File!" >> $LogFilefi if [ -f $NewFile ]then echo "[$NewFile]The Backup File is exists,Can't Backup!" >>$LogFileelse tar czvf $NewFile -T $FileList >> $LogFilefi echo "-------------------------------------------" >> $LogFile 接上面:needlist 把需要备份的文件写出来就可以了…代码/etc/rc.conf/etc/csh.cshrc/etc/csh.logout/etc/passwd/etc/group/etc/pwd.db/etc/resolv.conf/etc/aliases/etc/crontab/usr/local/etc/php.conf/usr/local/etc/php.ini/usr/local/etc/clamd.conf/usr/local/etc/pure-ftpd.conf/etc/pureftpd-mysql.conf/usr/local/www/postfixadmin/config.inc.php/usr/local/etc/apache22//usr/local/etc/authlib//usr/local/etc/postfix//usr/local/etc/MailScanner//usr/local/etc/samba//usr/local/lib/sasl2/smtpd.conf Link to comment Share on other sites More sharing options...
Jamers Posted December 21, 2014 Author Report Share Posted December 21, 2014 经过昨天测试,发现数据库备份脚本有一点小问题,修改为下列内容,测试无误: #!/usr/local/bin/bash #This is a ShellScript For Auto DB Backup #Powered by aspbiz #2004-09 2014.12.21调整修改 #Setting #设置数据库名,数据库登录名,密码,备份路径,日志路径,数据文件位置,以及备份方式 #默认情况下备份方式是tar,还可以是mysqldump,mysqldotcopy #默认情况下,用root(空)登录mysql数据库,备份至/root/dbxxxxx.tgz DBName=ipb DBUser=root DBPasswd= BackupPath=/home/jamers/backup/website/ LogFile=/home/jamers/backup/website/db.log DBPath=/var/db/mysql/ BackupMethod=mysqldump #BackupMethod=mysqlhotcopy #BackupMethod=tar #Setting End NewFile="$BackupPath"ipb_$(date +%Y%m%d)_db.tgz DumpFile=ipb_$(date +%Y%m%d)_db.sql OldFile="$BackupPath"ipb_$(date -v -15d +%Y%m%d)_db.tgz echo "-------------------------------------------" >> $LogFile echo $(date +"%Y-%m-%d %H:%M:%S") >> $LogFile echo "--------------------------" >> $LogFile #Delete Old File if [ -f $OldFile ] then rm -f $OldFile >> $LogFile 2>&1 echo "[$OldFile]Delete Old File Success!" >> $LogFile else echo "[$OldFile]No Old Backup File!" >> $LogFile fi if [ -f $NewFile ] then echo "[$NewFile]The Backup File is exists,Can't Backup!" >> $LogFile else case $BackupMethod in mysqldump) if [ -z $DBPasswd ] then mysqldump -u $DBUser --opt $DBName > $BackupPath$DumpFile else mysqldump -u $DBUser -p$DBPasswd --opt $DBName > $BackupPath$DumpFile fi tar czvf $NewFile -C $BackupPath $DumpFile >> $LogFile 2>&1 echo "[$NewFile]Backup Success!" >> $LogFile rm -rf $BackupPath$DumpFile ;; mysqlhotcopy) rm -rf $DumpFile mkdir $DumpFile if [ -z $DBPasswd ] then mysqlhotcopy -u $DBUser $DBName $DumpFile >> $LogFile 2>&1 else mysqlhotcopy -u $DBUser -p $DBPasswd $DBName $DumpFile >> $LogFile 2>&1 fi #tar czvf $NewFile $DumpFile >> $LogFile 2>&1 tar czvf $NewFile -C $BackupPath $DumpFile >> $LogFile 2>&1 echo "[$NewFile]Backup Success!" >> $LogFile rm -rf $DumpFile ;; *) /usr/local/etc/rc.d/mysql-server stop >/dev/null 2>&1 tar czvf $NewFile $DBPath$DBName >> $LogFile 2>&1 /usr/local/etc/rc.d/mysql-server start >/dev/null 2>&1 echo "[$NewFile]Backup Success!" >> $LogFile ;; esac fi echo "-------------------------------------------" >> $LogFile Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now