SQL Server远程定时备份数据库脚本分享

SQL Server远程定时备份数据库脚本分享,第1张

经常会有定时备份SQL

Server数据库的需要。定时备份到本机的话,还是挺容易的,计划任务就可以完成,但如果是整机挂了,那备份到本机是没意义的,那么就需要来考虑备份到局域网中,其它电脑里。

下面就分享一份在网上找了之后,自己再简单整理过的代码,配合

SQL

Server

代理中的作业功能,已经稳定运行一个星期了,每小时就备份一次。

复制代码

代码如下:

--

创建网络映射(Y是盘符;IP地址后面要带共享文件夹的名称;password是密码,双引号引起;account是远程电脑的登录名)

exec

master..xp_cmdshell

'net

use

Y:

\\192.168.0.69\sqlbackup

"password"

/user:192.168.0.69\account'

--

按日期时间做文件名(注意路径中的文件夹,需要先建立好)

declare

@filename

varchar(200)

select

@filename

=

'Y:\DB\'

+

replace(replace(replace(CONVERT(varchar,

getdate(),

120

),'-',''),'

','-'),':','')

+

'.bak'

--

执行备份(DB是要备份的数据库名称)

backup

database

[DB]

to

disk

=

@filename

--

删除网络映射(Y是盘符,同上)

exec

master..xp_cmdshell

'net

use

Y:

/delete'

每天定时备份mysql数据库任务,删除指定天数前的数据,保留指定天的数据;

需求:

1,每天4点备份mysql数据;

2,为节省空间,删除超过3个月的所有备份数据;

3,删除超过7天的备份数据,保留3个月里的

10号

20号

30号的备份数据;

#创建shell文件

vim

backup_mysql.sh

mysqldump

-uroot

-p123456

--all-databases

>

/data/dbdata/mysqlbak/`date

+%Y%m%d`.sql

find

/data/dbdata/mysqlbak/

-mtime

+7

-name

'*[1-9].sql'

-exec

rm

-rf

{}

\

find

/data/dbdata/mysqlbak/

-mtime

+92

-name

'*.sql'

-exec

rm

-rf

{}

\

#创建定时任务

crontab

–e

0

4

*

*

*

/data/dbdata/backup_mysql.sh


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9603531.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存