MySQL定期备份是一项重要的工作,但人工操作太繁琐,也难避免有所疏漏,使用下面的方法即可让系统定期备份数据。
◆1、创建备份文件夹
#cd /www
#makedir backup
◆2、编写运行脚本
#vi autobackup
写入以下内容:
filename=`date +%Y%m%d`
mysql_bin_dir/mysqlmp _opt dataname -u user -ppassword | gzip
/www/mysqlbackup/name$filename.gz
保存退枝裤出
说明:
(1)mysql_bin_dir:mysql的bin路径;
(2)dataname:数据库名;
(3)user:数据库用户名;
(4)password:陆搭岁用户密码;
(5)name:早睁自定义备份文件前缀标识。
如上例,将自动备份mysql数据库,并以gzip压缩方式存储,文件名为name20080101.gz的形式。
◆3、为脚本添加执行权限
#chmod +x autobackup
◆4、让crontab来完成定期执行的任务
这一步中,Redhat的方法会不一样,后面专门给出。
编辑crontab:
#vi /etc/crontab
在最后一行中加入:
01 5 * * * root /www/autobackup
每天5点运行脚本,也可以修改5为其他指定时间。
Redhat方法:
Redhat的crontab采用按时间调用4个目录(/etc/cron.hourly:每小时;/etc/cron.daily:每天;/etc/cron.weekly:每周;/etc/cron.monthly:每月)中脚本出来运行的方式。
Redhat中只需要将刚才编辑的脚本复制到相应的目录即可。
◆5、重启crontab
#/etc/rc.d/init.d/crond restart
完成。
㈡ 在linux怎么备份数据库表
1:打开的数据库的命令
mysql> use mysql
Database changed
2:查看数据库的命令
mysql> show databases;
3:查看数据库中表的命令
mysql> show tables;
4:查看表的详细结构
mysql> desc tablename;
5:新建数据库
mysql> create database school;
Query OK, 1 row affected (0.00 sec)
6:新建表
mysql> create table user01(
-> id varchar(20) NOT NULL,
-> userName varchar(10) NOT NULL,
-> age int(11) default'0',
-> sex char(2) NOT NULL default'm',
-> PRIMARY KEY (id)
-> )TYPE=InnoDB;
Query OK, 0 rows affected, 1 warning (0.02 sec)mysql>desc student;
7:插入
mysql> insert into student(id,stuName) values('1','tomcat');
Query OK, 1 row affected (0.00 sec)
8:删除
mysql> delete from student where id='1';
Query OK, 1 row affected (0.01 sec)
9:删除表中所有数据
mysql> truncate table student;
Query OK, 1 row affected (0.01 sec)
10:创建新用户并给予权限
mysql>grant all privileges on *.* to dbsync@"127.0.0.1" identified by "1234";
11:更改Mysql用户密码
c:\Mysql5.0\bin>mysqladmin -u root -p password 1234
Enter password: ****
备份数据库及表
我们用mysqlmp命令来备份数据库
c:\mysql\bin\>mysqlmp –u root –p 3306 mysql>d:\backup.sql
执行此语句将把mydb 备份到D盘的backup.sql文件中
备份多个数据库表
㈢ 如何在Linux下实现DB2数据库备份和恢复
以下的文章主要向大家讲述的是在Linux操作系统的环境下实现DB2数据库备份和恢复的操作步骤,以下就是对Lin操作系统的环境下实现DB2数据库备份和恢复的操作步骤配判的描述,希望在你今后的学习中会有所帮助。 通过如下备份脚本备份的数据库进行恢复 备份脚本: . /home/db2admin/sqllib/db2profile db2 backup db datedb online to /dbbackup/date include logs cd /dbbackup/datetoday=`date +”%Y%m%d”` file1=”差迟*$today*” ftpfile=`ls $file1` echo $ftpfile lftp -c “open ftp地址;user 用户名密码@\$0; put $ftpfile” find /dbbackup/date -ctime +15 -exec rm {} \; 恢复命令:通过root命令登录到服务器上后切换到数据库用户名下用su – db2admin命令。 进入到备份文件存放目录 执行如下命令 [db2admin@localhost db2back]$ db2 restore db datedb from /hom 以上的相关内容就是对Linux环境下虚卖李DB2数据库备份与恢复的介绍,望你能有所收获。
㈣ linux 登录mysql 后 怎么备份
用命令实现备份
MySQLl提供了一个mysqlmp命令,我们可以用它进行数据备份。
按提示输入密码,这就把tm数据库所有的表结构和# mysqlmp -u root -p tm > tm_050519.sql数据备份到tm_050519.sql了,因为要总进行备份工作,如果数据量大会占用很大空间,这时可以利用gzip压缩数据,命令如下:
# mysqlmp -u root -p tm | gzip > tm_050519.sql.gz
系统崩溃,重建系统时,可以这样恢复数据:
# mysqlmp -u root -p tm < tm_050519.sql
从压缩文件直接恢复:
#gzip < tm_050519.sql.gz | mysqlmp -u root -p tm
当然,有很多MySQL工具提供更直观的备份恢复功能,比如用phpMyAdmin就很方便。但我认为,mysqlmp是最基本、最通用的。
二、利用crontab,系统每天定时备份mysql数据库
利用系统crontab来定时执行备份文件,按日期对备份结果进行保存,达到敏悄备份的目的。
1、创建保存备份文件的路径/var/backup/mysqlbak
# mkdir -p /var/backup/mysqlbak
2、创建/usr/sbin/bakmysql文件
#vi /usr/sbin/bakmysql.sh
#!/bin/bash
# mysql备份脚本
cd /var/backup/mysqlbak/
dateDIR=`date +"%y-%m-%d"`
mkdir -p $dateDIR/data
for i in `/usr/local/www/mysql/bin/mysql -uroot -plin31415926 -e "show databases"桥带渣 |
grep -v "Database" | grep -v "information_schema"`
do
/usr/local/www/mysql/bin/mysqlmp -uroot -plin31415926 $i |
gzip > /var/backup/mysqlbak/$dateDIR/${i}_${dateDIR}.gz
done
3、修改文件属性,使其可执行
# chmod +x /usr/sbin/bakmysql
4、修改/etc/crontab
# crontab -e
在下面添加
01 3 * * * root /usr/sbin/bakmysql
#表示行正每天3点钟执行备份
这样每天就可以在/var/backup/mysqlbak下看到备份的sql文件 了!
㈤ LINUX下如何直接对MYSQL数据库进行备份
MYSQL提供了数据导入与导出的两个命令,分别是mysqlimport(导入)和
mysqlmp(导出或者转储)。详细用法请网络一下。
㈥ linux系统上怎样备份oracle数据库
步骤以下:1、编写备份数据库的shell
1、创建保存shell文件的文件夹,2、文件内容为:#!/bin/sh
PATH=$PATH:$HOME/bin
export
PATH
ORACLE_BASE=/u01/app/oracle
export
ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/proct/10.2.0/db_1
export
ORACLE_HOME
ORACLE_SID=HRDB
export
ORACLE_SID
PATH=/usr/sbin:$PATH
PATH=$ORACLE_HOME/bin:$PATH
export
PATH
exp
fact/fact
file=/backup/fact`date
+%y%m%d`.dmp
log=/backup/factlog`date
+%y%m%d`.log
shell文件编写终了1、运行以上的shell文件看是不是能生成备份的.dmp文件,如果能则表示shell文件编写成功
2、然后在此shell文件的所在终端输入命令,将此文件授权让root用户可以履行:
3、命令为:chmod
+x
backup.sh
4、然后到root终端编写定时备份的语句5、语句为:crontab
–e
6、输入i
7、输入10
17
,,,/home/backupscript/backup.sh
8、按下esc建,输入:wq
退出并保存便可。
㈦ linux系统上怎么备份oracle数据库
步骤如下:
一、编写备份数据库的shell
1、创建保存shell文件的文件夹,
2、文件内容为:
#!/bin/sh
PATH=$PATH:$HOME/bin
export PATH
ORACLE_BASE=/u01/app/oracle
export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/proct/10.2.0/db_1
export ORACLE_HOME
ORACLE_SID=HRDB
export ORACLE_SID
PATH=/usr/sbin:$PATH
PATH=$ORACLE_HOME/bin:$PATH
export PATH
exp fact/fact file=/backup/fact`date +%y%m%d`.dmp
log=/backup/factlog`date +%y%m%d`.log
shell文件编写完毕
一、运行以上的shell文件
看是否能生成备份的.dmp文件,如果能则表示shell文件编写成功
二、然后在此shell
文件的所在终端输入命令,将此文件授权让root用户可以执行:
三、命令为:chmod +x backup.sh
四、然后到root终端编写定时备份的语句
五、语句为:crontab –e
六、输入i
七、输入10 17 ,,,/home/backupscript/backup.sh
八、按下esc建,输入:wq 退出并保存即可。
㈧ linux服务器中如何登陆另一台Linux服务器中的Oracle数据库进行全库备份
dataguard,stream replication,goldengate.....
方法很多,看你具体需求了
㈨ 如何在Linux服务器中备份
linux系统下使用脚本定时备份数据库,代码如下:
#!/bin/bash
#Setting
#设置数据库名,数据库登录名,密码,备份路径,日志路径,数据文件位置,以及备份方式
#默认情况下备份方式是mysqlmp,还可以是mysqlmp,mysqldot,如果注释掉第
#18行,则默认以tag的方式备份
#默认情况下,用root(空)登录mysql数据库,备份至/root/dbxxxxx.tgz
DBName=mysql
DBUser=root
DBPasswd=123456
BackupPath=/home/wang/www/backup/mysql/mysqlbackup
LogFile=/home/wang/www/backup/mysql/db.log
DBPath=/var/lib/mysql/
#BackupMethod=mysqlmp
#BackupMethod=mysqlhot
#BackupMethod=tar
#Setting End
NewFile="$BackupPath"db$(date +%y%m%d).tgz
DumpFile="$BackupPath"db$(date +%y%m%d)
OldFile="$BackupPath"db$(date +%y%m%d --date='5 days ago').tgz
echo "-------------------------------------------" >> $LogFile
echo $(date +"%y-%m-%d %H:%M:%S") >> $LogFile
echo "--------------------------" >> $LogFile
#Delete Old File
if [ -f $OldFile ]
then
rm -f $OldFile >> $LogFile 2>&1
echo "[$OldFile]Delete Old File Success!" >> $LogFile
else
echo "[$OldFile]No Old Backup File!" >> $LogFile
fi
if [ -f $NewFile ]
then
echo "[$NewFile]The Backup File is exists,Can’t Backup!" >> $LogFile
else
case $BackupMethod in
mysqlmp*)
if [ -z $DBPasswd ]
then
mysqlmp -u $DBUser --opt $DBName > $DumpFile
else
mysqlmp -u $DBUser -p$DBPasswd --opt $DBName > $DumpFile
fi
tar czvf $NewFile $DumpFile >> $LogFile 2>&1
echo "[$NewFile]Backup Success!" >> $LogFile
rm -rf $DumpFile
;;
mysqlhot*)
rm -rf $DumpFile
mkdir $DumpFile
if [ -z $DBPasswd ]
then
mysqlhot -u $DBUser $DBName $DumpFile >> $LogFile 2>&1
else
mysqlhot -u $DBUser -p $DBPasswd $DBName $DumpFile >>$LogFile 2>&1
fi
tar czvf $NewFile $DumpFile >> $LogFile 2>&1
echo "[$NewFile]Backup Success!" >> $LogFile
rm -rf $DumpFile
;;
*)
/etc/init.d/mysqld stop >/dev/null 2>&1
tar czvf $NewFile $DBPath >> $LogFile 2>&1
/etc/init.d/mysqld start >/dev/null 2>&1
echo "[$NewFile]Backup Success!" >> $LogFile
;;
esac
fi
echo "-------------------------------------------"
echo
#lftp -f lftp.sh 如果有FTP可同时上传ftp中。
再利用crontab命令生成/var/spool/cron/root 文件:
#crontab –e
//打开一个编辑窗口,第一行会有内容格式的提示,在此输入命令
//m h dom mon dow command
//具体意义表示:分钟 小时 日期 月份 星期 命令,在某月(mon)的某天(dom)或者星期几(dow)的几点(h,24小时制)几分(m)执行某个命令(command)
//如: 10 02 * * * /home/backup/autobackupmysql.sh (表示零晨二点十分执行备份脚本)
㈩ linux自动备份网站和数据库,到另外服务器上,为当前用户创建定时任务
linux自动备份网站和数据库,到另外服务器上,为当前用户创建定时任务两台服务器111,和117服务器,每天完成111服务器上网站和数据库自动备份到117服务器上1:我的111服务器上是当前用户:sxA:
查看当前用户的计划任务:crontab
-l是查看当前用户的任务用
vi
crontab
-e
是为sxw用户创建一个计划任务第一行:每天3点运行/home/sxw/rsync201.sh
shell脚本,第二行:和第三行是每天下午7点运行tar包,gaokaotong和phpcms文件第三行:每天7点22分运行/homesxw/back_up.sh
shell脚本,注意:这里是当前用户sxw,所以要shell脚本路径要有用户sxw权限,在这里/home/sxw/back_up
shell脚本,是当前用户sxw用户的家目录。B:
111服务器上/home/sxw/back_up.sh脚本code:-bash-3.2$
vim
/home/sxw/back_up.sh#!/bin/shecho
开始备份数据库mysqlmp
-u
jeecms
-pjeecms1234
gktcms
>
gktcms.sqlmysqlmp
-u
jeecms
-pjeecms1234
phpcms
>
phpcms.sqlecho
备份数据库完成,复制到117服务器端scp
-P
10022
gktcms.sql
[email protected]:/home/zkscp
-P
10022
phpcms.sql
[email protected]:/home/zkscp
-r
-P
10022
/opt/www/www2/phpcms.tar.gz
[email protected]:/home/zk/scp
-r
-P
10022
/opt/www/www2/gaokaotong.tar.gz
[email protected]:/home/zk/echo
发送完成C:
还要在111上做ssh信任,这个可参照ssh资料。很简单,只需要建立两个密钥。2:
117服务器上/homezk/自动就会多出两个tar包文件,phpcms.tar.gz
和gaokaotong.tar.gz这里每天自动保存两个文件,phpcms.tar.gz
和
gaokaotong.tar.gz文件
这里做了一个shell脚本,保存前两天的文件,跟上述111服务器上的建立计划任务一样:A:
查看117的计划任务:
crontabl
-lB:
在查看/home/zk/back.sh
的shell编写code:[zk@DB2~]$
vi
/home/zk/back.sh#!/bin/shTARFILE=/home/zk/phpcms.tar.gzif
[
-f
$TARFILE
];then
mv
/home/zk/phpcms.tar.gz
/home/zk/phpcms_$(date
+%Y%m%d).tar.gz
#remove
date
file
DATE_B=$(date
-d2
day
ago
+%Y%m%d)
FILENAME=/home/zk/phpcms_$DATE_B.tar.gz
if
[
-f
$FILENAME
];then
rm
-rf
/home/zk/phpcms_$DATE_B.tar.gz
else
echo
没有可删除文件
fielse
echo
没有源文件fi~
结束。