如何设置SQL Server数据库自动备份
1、对象资源管理——展开管理——右键点维护计划——打开维护计划向导。
2、维护计划向导的开始界面直接下一步即可,我之前设置不再提示,所以我没有第一个界面了,直接跳到第二个。
4、选择维护项目。
下一个界面是确认下,直接下一步就可以了,不上图了。
设置自动备份文件的保存地址和后缀名,设置完下一步就行
6、然后就是设置清除计划
后面都是下一步就可以的东西,不需要上图了,设置完成后运行他做个验证保证设置的正确性。
1备份Linux系统 window系统在运行状态下,我们是无法将文件拷贝出来的,那么在Linux下呢?她的文件结构式一种树型结构。而且在系统运行的时候我们可以进行打包所有系统文件。特别要说的在Linux的root账户具备系统上的任何操作,这也是为什么要创建一个比较低级别的用户权限来防止系统误操作导致系统崩溃的晕因了。下面看备份命令。 #切换到root sudosu #进入系统根目录 cd/ #执行打包命令 tarcvpzflinuxbackuptgz--exclude=/proc--exclude=/lost+found--exclude=/linuxbackuptgz--exclude=/mnt--exclude=/sys/ 命令解释: tar:linux常用的打包程序 cvpzf:式tar的参数,c-创建新文档 v-处理过程中输出相关信息 p-表示保持相同的权限 z-调用gzip来压缩归档文件,与-x联用时调用gzip完成解压缩 f-对普通文件操作 linuxbackuptgz:要打包成的文件名 --exclude=/proc:排除/proc目录,不打包这个目录,后面也同理,记得排除自身打包的文件名 /:表示打包linux根目录所有文件,当然了排除的文件不包含在内 整个过程理解起来意思就是,创建一个新的文件名linuxbackuptgz压缩文件,它保存式从排除了指定目录后的文件,并且保存原有的权限设置,这里必须记下你排除的目录,恢复的时候需要手动创建。具体哪些目录要排除在外,这个根觉不同的环境和工作需要进行选择就是了。执行后等待一定时间就可以了,将这个linuxbackuptgz拷贝到其他地方即可,备份完成了。 重点指出:在打包过程中不要进行任何的操作,否则会修改某些文件,在备份完后tar会提示错误。恢复也是一样。 2恢复Linux系统 按照上面的方式备份完系统就可以使用该方法恢复你的备份文件了。如果你的系统崩溃了无法进入系统那么你可以借助引导CD或者其他引导系统进入,如果你可以进入系统,首先拷贝该备份文件到/目录下,然后执行下面命令进行恢复系统: #提升到root sudosu #进入根目录 cd/ #解压恢复系统 tarxvpfzlinuxbackuptgz-C/ 等执行完后,别急着重启系统,要记得创建你在备份时候排除的目录,手动创建,例如上面我们排除,我们需创建 mkdirproc mdkirlost+found mkdirmnt mkdirsys 这个时候你就可以重启系统了。恢复完成了。
你指的应该是数据库的备份,一般来说都是完整备份(完全备份也就是对整个数据库的备份),我不清楚你们操作的具体过程,一般来说通常这种备份就是手动或定时生成备份文件,然后将备份文件复制到其它硬盘上。如果你们也是这样操作,那你所指的没有备份是指哪个没备份,是服务器定时任务没触发,还是说你们没复制备份文件到硬件,但无论哪种,对于完全备份来说,后面的备份都会包含前面的数据,所以不会失丢。
其实象你们这种频繁操作不是太好,一般来说,可以考虑用定时同步软件(比如fileyee)之类的,定时将备份文件同步到其它位置(比如百度网盘、比如其它的FTP上),你可以多同步几份,用硬盘复制的话,一个月考虑复制一次就行了。
这篇文章很有分享价值,因为我们在实际的生产环境中需要将数据库进行自动备份,然后上传到指定的位置,当然也可以像以下文章中所讲的一样,上传到你指定的FTP服务器中,从而实现Mysql数据库自动备份并上传到远程FTP服务器的部署,在Linux技术交流群中,也有朋友会遇到这方面的问题,可以将此文分享给群友共益。
注意:任何的操作都会具有风险性,请在本机实际测试通过之后再部署到服务器环境,这样即熟练的掌握了操作的技巧,也能在测试过程中发现问题,寻找解决方法。
说明:我这里要把MySql数据库存放目录/var/lib/mysql下面的data数据库备份到/home/mysql_data里面
并且保存为mysqldata_bak_2012_12_19targz的压缩文件格式(2012_12_19是指备份执行时当天的日期)
然后只保留最近7天的备份
再把备份文件通过ftp服务器上传到指定空间,只保留最近7天的数据
实现步骤:
1、创建保存备份文件的路径:/home/mysql_data
cd /home
mkdir mysql_data
2、创建备份脚本文件:/home/mysql_data/mysql_databaksh
cd /home
cd mysql_data
touch mysql_databaksh
vim mysql_databaksh
输入以下内容:
#######################################################################################################
#!/bin/sh
DUMP=/usr/bin/mysqldump #mysqldump备份文件执行路径
OUT_DIR=/home/mysql_data #备份存放路径
LINUX_USER=root #系统用户名
DB_NAME=data #要备份的数据库名字
DB_USER=root #数据库账号 注意:非root用户要用备份参数 --skip-lock-tables,否则可能会报错
DB_PASS=123456 #数据库密码
DAYS=7 #DAYS=7代表删除7天前的备份,即只保留最近7天的备份
cd $OUT_DIR #进入备份存放目录
DATE=`date +%Y_%m_%d` #获取当前系统时间
OUT_SQL="$DATEsql" #备份数据库的文件名
TAR_SQL="mysqldata_bak_$DATEtargz" #最终保存的数据库备份文件名
$DUMP -u$DB_USER -p$DB_PASS $DB_NAME --default-character-set=utf8 --opt -Q -R --skip-lock-tables> $OUT_SQL #备份
tar -czf $TAR_SQL /$OUT_SQL #压缩为targz格式
rm $OUT_SQL #删除sql格式的备份文件
chown $LINUX_USER:$LINUX_USER $OUT_DIR/$TAR_SQL #更改备份数据库文件的所有者
find $OUT_DIR -name "mysqldata_bak_" -type f -mtime +$DAYS -exec rm {} \; #删除7天前的备份文件
deldate=` date -d -7day +%Y_%m_%d ` #获取7天前的时间
ftp -n<<!
open 19216811 21 #打开ftp服务器。21为ftp端口
user admin 123456 #用户名、密码
binary #设置二进制传输
cd mysqlbak #进入ftp目录(这个目录必须为ftp空间真实存在的目录)
lcd /home/mysql_data #列出本地目录
prompt
put mysqldata_bak_$DATEtargz mysqldata_bak_$DATEtargz #上传目录中的文件
delete mysqldata_bak_$deldatetargz mysqldata_bak_$deldatetargz #删除ftp空间7天前的备份
close
bye !
#######################################################################################################
3、修改文件属性,使其可执行
chmod +x /home/mysql_data/mysql_databaksh
4、修改/etc/crontab
vi /etc/crontab
在下面添加
30 1 root /home/mysql_data/mysql_databaksh
表示每天凌晨1:30分执行备份
5、重新启动crond使设置生效
/etc/rcd/initd/crond restart
chkconfig crond on #设为开机启动
service crond start #启动
每天你在/home/mysql_data目录下面可以看到类似mysqldata_bak_2012_12_19targz这样的压缩文件
如果需要恢复文件的时候,只需要把这个文件解压即可
解压缩tar -zxvf mysqldata_bak_2012_12_19targz
至此,我们完成了Linux中Mysql数据库自动备份并上传到远程FTP服务器的部署。
0条评论