首页 > 编程知识 正文

sqlserver自动备份到异地,oracle批量执行sql脚本

时间:2023-05-03 17:35:49 阅读:128112 作者:1880

忙了两天,终于写了这个外壳脚本。 第一次写外壳脚本是值得纪念的。 特别是平安夜圣诞节的时候。 我认为懒惰的人是生产进步的原动力。 因为手动备份数据太累了,加上网络不好,所以我考虑编写脚本让服务器自动备份数据。 终于有时间了,所以解决了这个问题。 有成就感。 “o () ) o…哈哈

有两种类型的备份:直接本地备份和将本地服务中的数据备份到其他服务。

一.本地备份:

这是比较容易实现的。 是利用名为mysqldump的命令进行备份。 其中,mysqldump参数-u后跟用户名。 这意味着您的Mysql用户名。 -p意味着输入密码。 如果不包含空格,则可以直接运行-pPasswd。 这是写shell脚本的基本。 关于mysqldump的具体使用方法,请自己在百度上查一下。

是使用了邮件命令和cacti

特定代码:

首先是准备。 就是创建几个文件夹和文件

mkdir -p /usr/backup/logs

touch/usr/backup/logs/MySQL.log

touch /usr/backup/email.txt

然后是整个脚本

#! /苹果大师/bash

#这是我写的第一个shell脚本,主要实现的功能是数据库的异地备份

# # # #

## ##

# # author :天空模式# #

# # # #

#数据库名称

db_user='root '

#数据库密码

db_passwd='passwd '

#备份的目录

back_dir='/usr/backup '

#要备份的数据表

db_name='CC '

邮件='L464417402@live.com '

EmailFile=$back_dir/email.txt

log file=$ back _ dir/logs/MySQL $ date.log

database=cacti

echo ' ' $ email文件

echo-------------- $电子邮件文件

echo $ (date ' % y-% m-% d % h : % m : % s ' ) $电子邮件文件

time='$(date '%Y-%m-%d ' ) '

mysqldump-u $ db _ user-p $ db _ passwd $ db _ name|gzip $ back _ dir/db _ $ { time }.gz

if [[ $?==0 ]];

陈真

echo ' databasebackupsuccess ' $电子邮件文件

else

echo 'DataBase Backup Fail!' $ email文件

mail-s ' databasebackupfail ' $ email $ email文件

fi

echo-------------------------------log

cat $ email文件$ log file

2 .异地备份

需要注意的是,必须将备份的文件通过ssh传输到存储备份文件的主机。 也就是说,a机器上的数据通过ssh传递到b机器,在两个主机之间建立了ssh信任。 这个具体怎么做,请参照我以前的文章。

#! /苹果大师/bash

#这是我写的第一个shell脚本,主要实现的功能是数据库的异地备份

# # # #

## ##

# # author :天空模式# #

# # # #

#数据库名称

db_user='root '

#数据库密码

db_passwd='passwd '

#备份的目录

back_dir='/usr/backup '

#要备份的数据表

b_name='CC '

邮件='L464417402@live.com '

EmailFile=$back_dir/email.txt

log file=$ back _ dir/logs/MySQL $ date.log

dump file=' $ back _ dir/db _ $ { time }.gz '

database=cacti

echo ' ' $ email文件

echo-------------- $电子邮件文件

echo $ (date ' % y-% m-% d % h : % m : % s ' ) $电子邮件文件

time='$(date '%Y-%m-%d ' ) '

mysqldump-u $ db _ user-p $ db _ passwd $ db _ name|gzip $ back _ dir/db _ $ { time }.gz

if [[ $?==0) ]

陈真

echo ' databasebackupsuccess ' $电子邮件文件

scp $ dump文件23.45.78.1/$ dump file

#要将备份文件传输到其他计算机,需要ssh信任

#rm -f $dumpFile #删除备份的文件

#RM-RF$databak_dir/daily/*#删除每天备份的文件

else

echo 'DataBase Backup Fail!' $ email文件

fi

echo-----------------------------------log

cat $ email文件$ log file

Today on history:

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。