我的备份脚本

循环增量备份

 

 

Bash代码  

  1. #!/bin/bash  
  2. ###################################  
  3. # $Id: backup 379 2012-04-02 08:43:42Z netkiller $  
  4. # Author: netkiller@msn.com  
  5. # Home: http://netkiller.github.com  
  6. ###################################  
  7. BACKUP_DIR=/backup/www  
  8. ####################################  
  9. LOGFILE='/var/tmp/test.log'  
  10. RSYNC="rsync"  
  11. WEEK=$(date -u +%A)  
  12. RSYNC_OPTS="-auz --delete --log-file=$LOGFILE"  
  13.   
  14. ####################################  
  15. test ! -w $BACKUP_DIR && echo "Error: $BACKUP_DIR is un-writeable." && exit 0  
  16.   
  17. umask 0077  
  18.   
  19. for domain in $(ls -1 /www)  
  20. do  
  21.     test ! -d "$BACKUP_DIR/$domain" && mkdir -p "$BACKUP_DIR/$domain"  
  22.     echo "$domain:"  
  23.     for host in $(ls -1 /www/$domain)  
  24.     do  
  25.         echo " - $host"  
  26.         backup_dir=$BACKUP_DIR/$domain/$host/$WEEK  
  27.         mkdir -p ${backup_dir}  
  28.         $RSYNC $RSYNC_OPTS /www/$domain/$host/* $backup_dir  
  29.     done  
  30.   
  31. done  

 

 

 

全备份

 

 

Php代码  

  1. #!/bin/bash  
  2. ###################################  
  3. # $Id: backup 379 2012-04-02 08:43:42Z netkiller $  
  4. # Author: netkiller@msn.com  
  5. # Home: http://netkiller.github.com  
  6. ###################################  
  7. BACKUP_DIR=/backup/www  
  8. #Number of copies  
  9. COPIES=30  
  10. ####################################  
  11. TAR='tar'  
  12. RSYNC="rsync"  
  13. TIMEPOINT=$(date -u +%Y-%m-%d)  
  14. TAR_OPTS="zcf"  
  15. ####################################  
  16. test ! -w $BACKUP_DIR && echo "Error: $BACKUP_DIR is un-writeable." && exit 0  
  17.   
  18. umask 0077  
  19.   
  20. for domain in $(ls -1 /www)  
  21. do  
  22.     test ! -d "$BACKUP_DIR/$domain" && mkdir -p "$BACKUP_DIR/$domain"  
  23.     echo "$domain:"  
  24.     for host in $(ls -1 /www/$domain)  
  25.     do  
  26.         echo " - $host"  
  27.         backup_dir=$BACKUP_DIR/$domain/$host/$WEEK  
  28.         mkdir -p ${backup_dir}  
  29.         $TAR $TAR_OPTS $BACKUP_DIR/$domain/$host/$host.$TIMEPOINT.tgz /www/$domain/$host  
  30.     done  
  31. done  
  32. find $BACKUP_DIR -type f -mtime +$COPIES -delete  
时间: 2024-09-12 19:03:14

我的备份脚本的相关文章

linux下oracle自动备份脚本

linux下oracle自动备份脚本  vi /home/oracle/backup.sh   //编写脚本 以下为脚本内容 time=` date +"%Y%m%d%H%M" ` //变量time 获取当前系统时间 su - oracle -c "exp hbskjt_0113/password owner=hbskjt_0113 file=/home/oracle/hbskjt_$time.dmp"  //导库脚本 cd /home/oracle tar zcv

编制一个Mysql数据库自动备份脚本

mysql|备份|脚本|数据|数据库 可以将这个脚本放进crontab,每天凌晨执行一次,自动备份这个脚本每天最多只执行一次,而且只保留最近五天的备份在服务器上. 代码: #!/bin/bash #This is a ShellScript For Auto DB Backup #Powered by SearchDatabase #2005-09 #Setting #设置数据库名,数据库登录名,密码,备份路径,日志路径,数据文件位置,以及备份方式 #默认情况下备份方式是tar,还可以是mysq

mysql备份脚本

mysql|备份|脚本 操作系统:windows2000 professional 数据库:mysql server4.0.18 首先创建一个批处理文件,在这里名为dbBackup.bat 然后在文件中添加如下内容: rem 判断mysql服务是否启动,然后将查询结果输出到server.log文件里netstat -na | (find "0.0.0.0:3306" & find "LISTENING")>server.logrem 手工建立一个空的文

一个Mysql自动备份脚本

mysql|备份|脚本 可以将这个脚本放进crontab,每天凌晨执行一次,自动备份 这个脚本每天最多只执行一次,而且只保留最近五天的备份在服务器上. 代码: #!/bin/bash #This is a ShellScript For Auto DB Backup #Powered by aspbiz #2004-09 #Setting #设置数据库名,数据库登录名,密码,备份路径,日志路径,数据文件位置,以及备份方式 #默认情况下备份方式是tar,还可以是mysqldump,mysqldot

ORACLE数据库的RMAN备份脚本例子

在ORACLE数据库中,RMAN备份的脚本非常多,下面介绍一例shell脚本如何通过RMAN备份,以及FTP上传RMAN备份文件以及归档日志文件的脚本. fullback.sh 里面调用RMAN命令做数据库备份,它使用的cmdfile为/home/oracle/backup/bin/fullback.rcv,同时在/home/oracle/backup/logs目录下生成日志文件. 1: [oracle@DB-Server bin]$ more fullback.sh 2: 3:#!/bin/b

linux服务器本地和百度云备份脚本小试

本地单文件上传脚本,命名uf 这是在本机上做的测试,利用bpcs_uploader脚本实现,只是进行简单的封装,自动完善云端文件路径. 技术要点:使用dirname获取文件所在目录,使用pwd获取文件完整路径,并作为云端文件路径. #!/bin/bash cur_dir=$(cd "$(dirname "$1")"; pwd) name=$(basename "$1") /home/grm/bin/bpcs_uploader/bpcs_uploa

sql server 类型自动判断和条件检查的备份脚本

根据自己环境自定义了一个备份脚本! 说明: 使用方法:exec master.dbo.fullbackup1 's:\backup','suzhou','full' 0.备份类型只能是full.diff或log,数据库名不能为空 1.通过新建一个历史表记 录每次备份内容 2.检查数据库版本是否为2005以上 3.检查当前用户是否有权 限完成备份 4.会自动检查指定盘符是否存在 5.检查指定格式是否为s:\ 6.如果指定的备份目录不存在proc将自动新建,根据备份类型为full.diff或 log

XenServer 虚拟机备份脚本

最近忙着弄虚拟机,什么数据都需要备份,即使虚拟机也不例外,下面是我自己写的备份脚本根据实际情况进行使用,:) 首先做一个NFS服务器,此服务器需要大容量磁盘,然后再需要备份的虚拟服务器主机上挂在共享目录 然后就可以实施脚本做成计划任务做备份 ################################################################################################### ####                       创建

Linux日志自动备份脚本(日志截断、压缩)

只需要将日志文件移动到备份目录下 然后将日志压缩打包,并删除日志文件 最后重建日志文件 #!/bin/bash # nginx_app=/usr/local/nginx/sbin/nginx logs_dir=/usr/local/nginx/logs bak_dir=/tmp/logbak/ date=`date +%Y%m%d` # #先将日志文件移动到备份目录 cd $logs_dir echo "moving logs" mv *.log $bak_dir sleep 3 #

php数据库备份脚本

 php数据库备份脚本 代码如下: <?php // 备份数据库 $host = "localhost"; $user = "root"; //数据库账号 $password = ""; //数据库密码 $dbname = "mysql"; //数据库名称 // 这里的账号.密码.名称都是从页面传过来的 if (!mysql_connect($host, $user, $password)) // 连接mysql数据库