精华内容
下载资源
问答
  • oracle 数据库备份脚本
    千次阅读
    2019-04-11 11:43:51

    用管理员,备份不同用户的表数据

    @echo off 
    :: 以“YYYYMMDDHHmmss”格式取出当前时间。 
    rem set filename=%date:~3,4%%date:~8,2%%date:~11,2%%time:~1,2%%time:~3,2%%time:~6,2%
    set filename=%date:~3,4%%date:~8,2%%date:~11,2%
    rem echo filename=%filename%
    rem 数据库连接名
    set USER=xxxxxx
    rem 密码
    set PASSWORD=xxxxxx
    rem 数据库实例
    set DATABASE=orcl
    if not exist "E:\backup\data"  mkdir E:\backup\data
    if not exist "E:\backup\log"   mkdir E:\backup\log
    set DATADIR=E:\backup\data
    set LOGDIR=E:\backup\log
    rem 在Windows 配置定时任务时需要,否则报错文件找不到
    set addr=cd /d %~dp0
    rem echo %addr:~6%
    set /P tableExp=<%addr:~6%table.txt
    echo ================================================   
    echo start backup  %tableExp%
    echo ================================================
    if "%tableExp%"=="" (
    goto end
    ) else (
    goto demo2
    )
    echo (%tableExp%)
    
    :demo2
    exp "'%USER%/%PASSWORD%@%DATABASE% as sysdba'" tables=(%tableExp%) file=%DATADIR%\data_%filename%.dmp log=%LOGDIR%\log_%filename%.log
    goto end 
    :end
    rem echo end  .........
    
    pause

    将上述代码复制保存为xxx.bat文件

    这里  table.txt 用来配置需要备份的表,格式为 用户名+.(英文点)+表名,表与表之间用逗号(英文)隔开。例如:bsitsqp.demo02_hs,bsitsqp.demo01_hs,viid.demo01_hs。这里备份了用户bsitsqp 的demo02_hs、demo01_hs表和用户 viid 的 demo01_hs 表。

    注意:table.txt 必须与xxx.bat文件在同一目录下

    如果要备份整个数据库,将上述代码中 tables=(%tableExp%) 去掉即可。

    如果要备份特定用户的数据 ,修改用户名 密码即可。

    如果需要定时备份,在Windows 中添加定时任务即可

    更多相关内容
  • mongodb数据库备份脚本

    2020-11-20 14:13:36
    数据库备份脚本 进入编辑任务界面:crontab -e 配置定时任务:30 1 * * * /opt/mongobk.sh 每天一点30分备份数据库 基本格式 : * * * * * command 分 时 日 月 周 命令 第1列表示分钟1~59 每分钟用*或者 *...
  • PostgreSQL数据库备份脚本,结合系统计划任务可以实现数据库的自动化备份。密码直接设置于脚本当中。
  • oracle和MySQL数据库备份脚本oracle和MySQL数据库备份脚本
  • db2数据库备份脚本

    2017-04-13 17:19:38
    自己写的db2备份shell脚本
  • centos数据库备份脚本

    2019-03-20 15:52:37
    可根据需求修改内部参数,参数都有说明,centos7 mysql数据库备份脚本,实测可用,先给文件授权,chmod +x mysqlBackup.sh,后只需在Linux系统中定时器cron中加入脚本存放路径即可. 输入如下命令: crontab -e 在页面中...
  • 基于Xtrabackup的MySQL数据库备份Shell脚本
  • 数据库备份脚本 两台centos系统互信 然后一台为主服务器 另外一台为备份服务器
  • 一、备份脚本 1、初始化变量,记录开始日志 #变量 sysname=填写自己的系统名称 syspath=/home/oracle/databak/$sysname v_date=$(date '+%Y%m%d%H%M%S') #日志目录 logfile=${syspath}/backup.${v
  • mysql数据库备份脚本

    2017-12-13 17:02:14
    使用脚本实现mysql数据库每天定时自动备份,防止数据库意外损坏无法还原
  • 数据库备份脚本

    2014-06-12 09:23:37
    oracle数据库备份脚本,可以对linux
  • sql 备份脚本

    SQL Server 数据库备份脚本

    参考博客:https://www.cnblogs.com/wanggang2016/p/10395645.html

    1、单一数据库备份 (测试可以)

    GO   
    DECLARE   
    @backupTime VARCHAR(20)  
    DECLARE   
    @fileName VARCHAR(1000)    
    SELECT  -- 时间
     @backupTime=(CONVERT(VARCHAR(8), GETDATE(), 112) +REPLACE(CONVERT(VARCHAR(5), GETDATE(), 114), ':', ''))    
     --核心主数据库
    SELECT  -- 文件名
     @fileName='D:\backup\DataBase_BACKUP\数据库名_'+@backupTime+'.bak'  
    backup database 数据库名 to disk=@fileName 
    

    2、全部数据库备份 (测试可以)

    --开启文件夹权限
    GO
    SP_CONFIGURE 'SHOW ADVANCED OPTIONS',1
    RECONFIGURE
    GO
    SP_CONFIGURE 'XP_CMDSHELL',1
    RECONFIGURE
    GO
     
    DECLARE
          @FileName VARCHAR(200),
          @CurrentTime VARCHAR(50),
          @DBName VARCHAR(100),
          @SQL VARCHAR(1000),
          @FilePath VARCHAR(100)
     
    --SET @CurrentTime = CONVERT(CHAR(8),GETDATE(),112) + CAST(DATEPART(hh, GETDATE()) AS VARCHAR) + CAST(DATEPART(mi, GETDATE()) AS VARCHAR)
    --年月日
    SET @CurrentTime = CONVERT(CHAR(8),GETDATE(),112)
     
     
    SET @FilePath = 'D:\Backup\SQLDataBaseBackupTest\' + @CurrentTime + '\'
    --select CONVERT(CHAR(8),GETDATE(),112)
    --文件夹不存在,则创建
    declare @TEMP TABLE(A INT,B INT,C INT)--建立虚拟表,用来判断文件夹是否存在
    INSERT @TEMP EXEC [MASTER]..XP_FILEEXIST @FilePath
    IF NOT EXISTS(SELECT * FROM @TEMP WHERE B=1)
    BEGIN
        --XP_CMDSHELL不允许使用变量拼接,所以使用exec方法
        declare @EX NVARCHAR(255)
        SET @EX = 'EXEC XP_CMDSHELL ''MKDIR ' + @FilePath + '''';
        EXEC(@EX)
    END
     
     
    --获取所有非系统数据库
    DECLARE CurDBName CURSOR FOR
        SELECT NAME FROM Master..SysDatabases where dbid>4
     
    --循环备份数据库
    OPEN CurDBName
    FETCH NEXT FROM CurDBName INTO @DBName
    WHILE @@FETCH_STATUS = 0
    BEGIN
        --Execute Backup
        SET @FileName = @FilePath + @DBName + '_text_' + @CurrentTime
        SET @SQL = 'BACKUP DATABASE ['+ @DBName +'] TO DISK = ''' + @FileName + '.bak' +
         ''' WITH NOINIT, NOUNLOAD, NAME = N''' + @DBName + '_backup'', NOSKIP, STATS = 10, NOFORMAT'
        EXEC(@SQL)
     
        --Get Next DataBase
        FETCH NEXT FROM CurDBName INTO @DBName
    END
     
    CLOSE CurDBName
    DEALLOCATE CurDBName
    

    3、删除备份数据30天前 (未测试)

    --开启文件夹权限
    GO
    SP_CONFIGURE 'SHOW ADVANCED OPTIONS',1
    RECONFIGURE
    GO
    SP_CONFIGURE 'XP_CMDSHELL',1
    RECONFIGURE
    GO
    EXEC xp_cmdshell 'forfiles /p D:\Backup\SQLDataBaseBackupTest\ /m * -d -30 /c "cmd /c rd /s /q @path"'
    

    总结:
    数据备份:
    1、无脚本:直接用维护计划
    2、有脚本:脚本+作业
    3、脱离sql server studio工具:用bat执行sql文件,加到window定时任务中

    展开全文
  • Linux数据库备份脚本 前提:保存备份文件的服务器需要安装mysql,可以执行mysqldump命令 脚本编写(mysql_dump.sh) 脚本内容:注意一定要在unix环境下编写,如果在windows环境下重定向后文件名会出现问题。 注意...

    Linux数据库备份脚本

    前提:保存备份文件的服务器需要安装mysql,可以执行mysqldump命令

    脚本编写(mysql_dump.sh)

    脚本内容:注意一定要在unix环境下编写,如果在windows环境下重定向后文件名会出现问题。

    注意替换mysql安装的路径(/usr/local/mysql/bin/mysqldump)和文件保存的路径(/test/dump/)

    #! /bin/bash
    dump_name=sale_dump_`date +%Y%m%d%H%M%S`
    dump_path="/test/dump"
    # 判断存放文件目录是否存在
    if [ ! -d $dump_path  ];then
      mkdir $dump_path
    fi
    # 数据库备份
    echo $dump_name'备份开始'
    /usr/local/mysql/bin/mysqldump -h 127.0.0.1 -P 3306 -u root -p123456 sale_21 > $dump_path/$dump_name
    echo $dump_name'备份结束'
    

    执行 sh mysql_dump.sh,便可以在/test/dump目录下发现备份的数据库文件了

    定时任务执行

    使用linux的crontab命令定时执行备份数据的脚本

    crontab -e
    

    编辑定时任务,这里每分钟执行一次,编辑完保存即可

    * * * * * /bin/sh /test/mysql_dump.sh
    

    定时任务的执行最小单位为分钟,详情代表如下:

    *    *    *    *    *
    -    -    -    -    -
    |    |    |    |    |
    |    |    |    |    +----- 星期中星期几 (0 - 6) (星期天 为0)
    |    |    |    +---------- 月份 (1 - 12) 
    |    |    +--------------- 一个月中的第几天 (1 - 31)
    |    +-------------------- 小时 (0 - 23)
    +------------------------- 分钟 (0 - 59)
    

    查看定时任务执行的日志:

    tail -f /var/log/cron
    
    展开全文
  • 1.Windows服务器下 2、设置每日定时备份多个数据库 3、备份到执行目录下 4、记录数据库状态及日志备份日志 5、可支持删除多少天前的备份
  • Mysql数据库远程备份脚本:实现在windows上按日期备份远程mysql数据库数据,结合windows任务可实现自动备份
  • 功能说明:备份SQLServer数据库,并压缩打包,传至远程FTP服务器,做到本地异地同时备份,可自动清理本地备份,自动保留N个最新备份(针对此种备份,不针对文件夹),老的备份自动删除;将此脚本加入系统任务计划,则...
  • linux服务器上,自己做所有数据库备份脚本方法,先打包在保存
  • 数据库备份脚本.zip

    2021-06-13 20:32:05
    可以在Windows任务计划定时执行脚本
  • PhpMysql数据库备份脚本
  • oracle备份脚本,执行脚本能够生成dmp文件
  • MySQL数据库备份脚本

    千次阅读 2019-02-25 16:54:02
    远程或者本地备份mysql数据库,并且保存最新7天的备份内容。 #!/bin/sh #define variables #the login information of your mysql db. login_user=&amp;amp;amp;amp;amp;amp;quot;&amp;amp;amp;amp;amp;...

    概述

    每天定时远程或者本地备份mysql数据库,并且保存最新7天的备份内容。

    脚本内容

    [root@myhost ~]# cat  /home/script/mysqlbackup.sh
    #!/bin/sh 
    source /etc/profile
    #define variables
    #the login information of your mysql db.
    login_user=""
    login_passwd=""       #数据库密码最好不要含有$符号,因为避免被当成变量,这是个大坑,被坑惨了
    db_host=""   
    db_port=""
    #the real databases which you want to backup.
    db_array=("db_name0" "db_name1" "db_name2")
    #the dir for saving your backup file.
    backup_dir="/home/backup/mysql_bak/$db_host-backup"
    if [ ! -d  $backup_dir ];then
    	mkdir -p $backup_dir
    fi 
    #date format for the backup file (yyyy-mm-dd) 
    time=`date +"%Y-%m-%d"`
    #the mysql,mysqldump and other bin's path
    MYSQL_COMMDAND=""   			#根据自己的数据库安装路径决定
    MYSQLDUMP_COMMAND=""			#根据自己的数据库安装路径决定
    MKDIR_COMMAND="/bin/mkdir"
    RM_COMMAND="/bin/rm"
    MV_COMMAND="/bin/mv"
    GZIP_COMMAND="/bin/gzip"
    
    # check the dir for saving backup file is writeable or not.
    if [ ! -w  $backup_dir ];then
    
    	echo "Error: $backup_dir is un-writeable." && exit 0 
    
    fi
    
    #check if the dir for saving the backup file exists or not.
    if [ ! -d  ${backup_dir}/backup.0 ];then
    
    	$MKDIR_COMMAND  -p "$backup_dir/backup.0"
    
    fi
    
    #starting to backup.
    
    for db_name in ${db_array[*]}
    do
    	$MYSQLDUMP_COMMAND -P$db_port -u$login_user -h$db_host  --set-gtid-purged=off -p$login_passwd -B  $db_name | $GZIP_COMMAND -9 > "$backup_dir/backup.0/$time.$db_name.gz" 
    done
    
    # delete the oldest backup 
    if [ -d "$backup_dir/backup.7" ];then
    
    	$RM_COMMAND -rf "$backup_dir/backup.7" 
    
    fi
    
    
    # rotate backup directory 
    
    #for int in 6 5 4 3 2 1 0 
    for int in {6..0}
    do 
    	if [ -d "$backup_dir"/backup."$int" ];then
    		next_int=`expr  $int  + 1` 
    		$MV_COMMAND "$backup_dir"/backup."$int" "$backup_dir"/backup."$next_int" 
    	fi
    done 
    	
    exit 0; 
    

    定时任务

    数据库备份的定时任务尽量避开数据库访问的高峰期,可以选择在半夜执行。

    [root@myhost ~]# cat /etc/crontab
    SHELL=/bin/bash
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    MAILTO=root
    HOME=/
    
    # For details see man 4 crontabs
    
    # Example of job definition:
    # .---------------- minute (0 - 59)
    # |  .------------- hour (0 - 23)
    # |  |  .---------- day of month (1 - 31)
    # |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
    # |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
    # |  |  |  |  |
    # *  *  *  *  * user-name command to be executed
    30 3  *  *  * root /home/script/mysqlbackup.sh
    

    数据库恢复

    [root@myhost ~]#  cd $backup_dir  && ll
    ##假设备份文件名为:2019-09-29.dbname.gz
    [root@myhost ~]#  gzip -d 2019-09-29.dbname.gz && ll    #解压备份文件之后文件名: 2019-09-29.dbname
    [root@myhost ~]#  cat  2019-09-29.dbname > 2019-09-29_dbname.sql 或者 mv  2019-09-29.dbname  2019-09-29_dbname.sql 
    [root@myhost ~]# mysql -uroot -proot123456 -B  dbname <   2019-09-29_dbname.sql   #恢复数据库
    
    展开全文
  • racle数据库自动备份脚本
  • 备份sqlserver数据库时候,虽然有自动备份的工具,但是并不保险,我们一般还会在进行物理备份,但这时候需要暂停SQLSERVER的服务,然后拷贝,最后在开启服务,这样是非常麻烦的,该脚本可以实现一键备份
  • docker + mysql数据库备份脚本

    千次阅读 2021-12-02 18:06:06
    #!/bin/bash ...mysql_user="root" mysql_password="root" ...# 备份文件存放地址(根据实际情况填写) backup_location=/home/db # 数据库数组 databases_name_array="mysql-dbname" # 是否删除过期数据 expir
  • 数据库备份CLI应用 PS:这项工作的灵感来自我周围的许多人,尤其是创建的 。 这个主意 我希望有一个小型的cli应用程序,可以在需要时进行简单的修改即可用来备份数据库,所以我尝试了bach / shell,但我不喜欢它。 ...
  • DB2 数据库备份脚本

    2018-11-09 09:00:00
    自己写的数据库备份脚本,修改路径及数据库名称,可直接运行
  • 为了mysql数据库的安全,我们需要定时备份mysql数据库,这里提供下脚本代码,需要的朋友可以参考下

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 155,495
精华内容 62,198
关键字:

数据库备份脚本

友情链接: Hyperterminal Setup.zip