linux远程备份数据库
① 怎样将远程的linux服务器上的mysql数据库备份到本地的linux服务器上,我是新手!
如果允许外网IP直接连接数据库的话,可以使用SQLyog这样的工具来进行备份,如果不支持远程连接的话,可以装个phpmyadmin来进行备份。
② linux下远程备份好的方法(详细)
对系统管理员来说,平时的工作重心应该集中在维护系统正常运转,能够正常提供服务上,这里往往牵涉到一个数据备份的问题,在我所了解的情况中,有80%的系统管理员不是太关心自己服务器的安全性,但往往对备分镜像的技术相当感兴趣,但由于商业产品的软硬件价格都相当高昂,因此往往会选择开源软件。rsync就是这样的软件,它可以满足绝大多数要求不是特别高的备份需求。1. 安装rsync包 [root@rhel403 old]# rpm -q rsync
rsync-2.6.3-1
2. rsync只使用一个配置文件就是/etc/rsyncd.conf [root@rhel403 old]# more /etc/rsyncd.conf
uid = nobody
gid = nobody
max connections = 200
timeout = 600
use chroot = no
read only = yes
pid file=/var/run/rsyncd.pid
host_allow =192.168.23.100 //客户端的IP地址写在这里
#syslog facility = local7
#log file=/var/log/rsyncd.log #rsync config
#The 'standard' things [rsync_gmmold] //定义同步的路径(客户端用这个关键字链接)
path = /gmm/old //需要同步的路径
comment = gmmold //这个暂不知道 3.启动服务 #/usr/bin/rsync --daemon 4.加入开机启动 echo "/usr/bin/rsync --daemon" >> /etc/rc.local 5.检查rsync时候启动 # ps -ef | grep rsync 6.停止服务 #kill `cat /var/run/rsyncd.pid` --------------------------------------------------------------------------- 以下是客户端的配置: 1. 安装rsync包 [root@rhel403 old]# rpm -q rsync
rsync-2.6.3-1
2. 与服务器端同步: #rsync -auqz 192.168.23.102::rsync_gmmold /tmp/old
③ linux服务器中如何登陆另一台Linux服务器中的Oracle数据库进行全库备份
1、你可以在数据库A做计划任务,用exp或者expdp导出,然后scp或者rsync到服务器B
例如计划任务0 0 * * * /data1/backup/expdp_db_bak.sh;
expdp_db_bak.sh内容:
#!/bin/sh
. ~/.bash_profile
dst=/data1/backup/db_bak
today=`date +%F`
bakfile=expdp_db_${today}.dmp
logfile=expdp_db_${today}.log
expdp 'user01/778899' DIRECTORY=expdp_dir1 parallel=2 \
mpfile=$bakfile SCHEMAS=user01 logfile=$logfile COMPRESSION=all
scp -P22 $bakfile [email protected]:/data1/backup/db_bak
exit 0;
2、也可以在服务器B用exp直接导出数据
exp 'user01/778899@DB01' file=$bakfile FULL=Y log=bak.log
3、开启归档模式,在服务器A用rman 做全备或增量备份,然后将备份同步到服务器B
指定路径
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/data1/rman/full_%d_%U';
全备份,默认Format
backup incremental level 0 database;
增量备份
backup incremental level 1 database;
将备份rsync 到服务器B
/usr/bin/rsync -av '-e ssh -p 22' [email protected]:/data1/rman /data1
4、开启归档模式,在服务器AB间配置DATAGURAD,同步数据
④ linux下mysql自动备份数据库与自动删除临时文件
一、每日23:00自动删除临时文件
首先查看一下crontab的任务列表:
crontab
-l
然后新建:
crontab
-e
添加一行:
00
03
*
*
*
rm
-rf
/www/cmstest/my120/public/scripts/jpgraph/*
保存退出。
重启服务:
/etc/rc.d/init.d/crond
restart
二、每日24:00自动备份数据库
利用系统crontab来定时执行备份文件,按日期对备份结果进行保存,达到备份的目的。
1、创建保存备份文件的路径/mysqldata
#mkdir
/mysqldata
2、创建/usr/sbin/bakmysql文件
查找数据库库文件的路径:
一般都是:/var/lib/mysql,或者,/usr/local/mysql/var
查找方法:
1、/usr/local/mysql/bin/mysql
-u
root
-p
进入数据库
2、输入:show
databases;
3、这是可以查看到所有的数据库,然后
4、find
/
-name
db(你想查找的数据库名)
之后:#vi
/usr/sbin/bakmysql
输入
复制代码
代码如下:
rq=`
date
+%Y%m%d
`
tar
zcvf
/mysqldata/mysql$rq.tar.gz
/var/lib/mysql
3、修改文件属性,使其可执行
#
chmod
+x
/usr/sbin/bakmysql
新建任务:
首先查看一下crontab的任务列表:
crontab
-l
然后新建:
crontab
-e
添加一行
00
04
*
*
*
/usr/sbin/bakmysql
表示每天24点钟执行备份
4、重新启动crond
#
/etc/rc.d/init.d/crond
restart
此后每天就可以在/mysqldata中看到类似下的文件了:mysql20040619.tar.gz。
⑤ linux系统上怎么备份oracle数据库
exp适合oracle10g,从oracle 11g开始使用expdp工具。