服务器定时备份(服务器定时备份数据)
- 服务器
- 2022-12-18 23:28:44
- 22
今天给各位分享服务器定时备份的知识,其中也会对服务器定时备份数据进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、GitLab 远程 定时备份
- 2、erp服务器设置为每天自动备份,如果中间有一天忘记备份,数据会不会丢失?
- 3、如何实现Mysql数据库每天自动备份定时备份
- 4、服务器的数据备份方法有哪些
- 5、服务器自动定时备份方案
- 6、ORACLE服务器定时备份怎么做
GitLab 远程 定时备份
一、环境准备
1.gitlab所在的服务器A(centos7,192.168.1.1)
2.备份服务器B(centos7,192.168.1.2)
3.gitlab本地备份目录设置为/var/opt/gitlab/backups/log,本篇也是以此展开
gitlab已经配置了本地备份。如果没有配置,可以参考 。
二、通过密钥配对取消scp传输密码的限制
手动备份数据费时费力。最好的方法就是通过脚本实现远程自动备份。但远程无论是通过SSH登陆,还是通过scp拷贝文件都需要输入密码。
为了克服这个问题,首先需要实现不需要密码的SSH登陆,这样就可以使用 rsync,scp,rexec等命令来做的远程备份了。
2.1 生成密钥对
假设A,B两服务器,现在需要在A机上用root登陆B机,而不需要输入密码。那我们可按照下面的步骤来做:
** 1)在gitlab服务器A上生成rsa证书 **
1、生成的过程中提示输入密钥对保存位置,直接回车,接受默认值就行了。
2、因为之前已经有/root/.ssh/id_rsa 文件存在,因此提示你是否覆盖,输入y表示覆盖
3、接着会提示输入一个密码,直接回车,让它空着。当然,也可以输入一个密码。
4、接着输入确认密码,输入完之后,回车密钥对就生成完了。
这样,在/root/.ssh下生成id_rsa 和 id_rsa.pub 两个文件,其中公共密钥保存在 /root/.ssh/id_rsa.pub,私有密钥保存在/root/.ssh/id_rsa。
** 2)在gitlab服务器A上cp生成rsa公钥证书 **
在/root/.ssh下复制备份一份id_rsa.pub 命名为 id_rsa.pub.A,以便拷贝到远程服务器B。
2.2 生成rsa公钥证书上传到备份服务器B
先在服务器B上创建目录/root/.ssh。
使用scp命令进行远程复制,将服务器A生成的id_rsa.pub.A拷贝到服务器B的/root/.ssh目录下。
此时使用scp命令需要输入密码,当把下面的“2.3 密钥配对”执行后,以后gitlab服务器A使用scp命令复制文件到备份服务器B的话,就不需要输入密码了。
2.3 密钥配对
1)创建authorized_keys文件
在备份服务器B的/root/.ssh下创建authorized_keys文件。
2)将id_rsa.pub.A文件内容追加到authorized_keys 文件中
通过 cat 命令 把id_rsa.pub.A 追写到 authorized_keys 文件中。
3)修改authorized_keys文件的权限
authorized_keys文件的权限很重要,如果设置为777,那么登录的时候,还是需要提供密码的。
4)测试上传文件是否还要输入密码
不放心的话,立刻测试下gitlab服务器A使用scp命令复制文件到备份服务器B是否还要输入密码。
发现在2.3之前,由于没有设置ssh证书授权认证时,上传需要输入密码;2.3操作完后,由于授权认证,已经不需要输入密码了。
三、定时将备份文件传到备份服务器
3.1 创建远程备份脚本
在gitlab服务器A上 ,在/root目录下创建定期备份脚本auto_backup_to_remote.sh。
添加下面的内容,并wq保存。
3.2 修改远程备份脚本auto_backup_to_remote.sh的权限
要能让系统执行 auto_backup_to_remote.sh ,必须修改该脚本的权限。
3.3 创建日志存放目录
3.4 测试远程备份脚本的功能是否可用
现在为了验证脚本是否可以正常运行,我们需要手动执行脚本。
在gitlab服务器A上执行find命令,看是否能够正常查找出我们要scp到远程服务器的Gitlab备份文件。
手动执行脚本auto_backup_to_remote.sh,看是否能够正常上传
等待1-2分钟左右,查看备份服务器B的目录/root/gitlab_backup下是否有服务器A传过来的备份文件。
在备份服务器B上能找到服务器A传过来的备份文件,说明远程备份脚本的功能OK。
如果每次上传都通过人工运行脚本的方式,人工的消耗太大,接着配置定时执行该脚本。
3.5 添加定时计划
定时备份的思路建立在手动的基础上,通过crontab添加定时计划就可以解决这个问题。
一般添加定时计划可以有2种方式:
1.使用命令crontab -e,将定时任务添加后保存。
2.将定时任务添加到/etc/crontab文件中。
我这里采取第一种,使用crontab -e。
结合我之前对公司gitlab本地备份的设计,故设计在备份完10分钟后上传,故分别在每天12:10、19:10进行备份,故添加下面的内容,wq保存。
重启crontab
四、定时删除备份服务器上的备份文件
每个Gitlab备份文件都很大。因此每天备份两次,过不了多久的话,备份服务器B上的磁盘空间可能就会被Gitlab备份文件占用完。
故需要定期清理备份文件,参考备份服务器的空间,暂定保留14天的备份文件。
4.1 创建删除过期备份文件的脚本
设计备份服务器B的/root/gitlab_backup作为接收远程上传备份文件的目录, 故在备份服务器B上 ,先创建该目录。
创建删除过期备份文件的脚本auto_remove_old_backup.sh。
添加下面的内容,并wq保存。
4.2 修改auto_remove_old_backup.sh脚本的权限
4.3 添加定时计划
定时备份的思路建立在手动的基础上,通过crontab添加定时计划就可以解决这个问题。
一般添加定时计划可以有2种方式:
1.使用命令crontab -e,将定时任务添加后保存。
2.将定时任务添加到/etc/crontab文件中。
我这里采取第一种,使用crontab -e。
设计凌晨0点执行删除过期备份文件的脚本,故添加下面的内容,wq保存。
重启crontab
erp服务器设置为每天自动备份,如果中间有一天忘记备份,数据会不会丢失?
你指的应该是数据库的备份,一般来说都是完整备份(完全备份也就是对整个数据库的备份),我不清楚你们操作的具体过程,一般来说通常这种备份就是手动或定时生成备份文件,然后将备份文件复制到其它硬盘上。如果你们也是这样操作,那你所指的没有备份是指哪个没备份,是服务器定时任务没触发,还是说你们没复制备份文件到硬件,但无论哪种,对于完全备份来说,后面的备份都会包含前面的数据,所以不会失丢。
其实象你们这种频繁操作不是太好,一般来说,可以考虑用定时同步软件(比如fileyee)之类的,定时将备份文件同步到其它位置(比如百度网盘、比如其它的FTP上),你可以多同步几份,用硬盘复制的话,一个月考虑复制一次就行了。
如何实现Mysql数据库每天自动备份定时备份
利用UCache灾备云平台,可作为一个工具,在window服务器现有架构不变的情况下,针对Mysql数据库每天自动备份定时备份。
(1)新建备份任务
UCACHE灾备云控制台登录账号后:点击【服务器定时数据保护】--【数据备份】点击【新建】按钮,然后选要保护的对象(您的生产服务器节点),选中对应的客户端,选择【文件系统】然后点击【 下一步 】
(2)设置备份策略
选择要进行备份的文件
(3)永久增量备份与数据保留设置
选择完要过滤的数据之后点击下一步,可进行下一步备份的高级功能选择,各个选项说明如下:
【永久增量备份】开启了永久增量备份每一次增量备份都会进行一次时间点合成形成新的一个永久增量时间点等效于完备时间点。
【数据保留策略】开启数据保留策略一共有三种保留策略分别为数据保留期限、保留副本数、按备份策略的备份周期设置副本保留策略默认选中数据保留期限一年。可以设置保留完全副本的个数最大可设置1024个副本按备份策略的备份周期设置副本保留策略最大可设置99999个副本。
【传输和存储加密】开启传输加密与存储加密选项开启此功能的任务的数据在传输和存储上都经过加密处理。一共有两种加密方式AES256加密算法、SM4加密算法。
【数据压缩】默认不开启开启该选项后默认启用快速压缩可选择启用强力压缩
【重复数据删除】勾选该选项可以启动源端重复数据删除的功能该选项在建立任务后不能通过修改任务的方式更改此属性。指纹库需要提前创建才能成功开启重删功能
最后新建完成
目录和文件内容,可以全选和分选,还可以利用UCACHE灾备云控制台的“文件过滤”“目录过滤”“时间过滤”功能进行不必要的数据不进行备份策略添加。为了备份效率不建议两个任务包含同一文件。
(4)设置邮件告警
备份执行完毕,会得到系统的执行反馈,也可以设定告警监控策略,进行邮件监控
服务器的数据备份方法有哪些
备份服务器的数据,可以通过人工手动备份,但是大部分都选择备份软件来进行自动备份。适用于服务器备份的软件种类很多,根据不同的备份方式,可以分为:定时备份、实时备份、CDP持续数据保护等,可以根据不同的需求来选择。根据不同的备份方法,可以分为:全量备份、差异备份、增量备份等,备份软件可以支持一种或者几种备份方法(和力记易的备份软件可以支持全量、差异和增量备份)。
从实际应用而言,服务器的数据备份可以分为数据级灾备方案和应用级容灾方案两种。数据级方案以数据备份为主,旨在保护数据,防范数据丢失;应用级方案在数据备份的基础上还增加了业务连续性范畴,尤其是医院等对业务连续要求较高的单位,服务器的数据备份都是选择应用级的方案。
服务器自动定时备份方案
参考连接:
路径设置为 /backup
参考连接:[ ]
gogs 二进制安装 + 备份恢复 + 找回管理员密码_草原狼的技术博客_51CTO博客
( )
使用工具:shell / crontab / notify-tools / rsync
1、设置定时任务每周六23点执行脚本 0 23 * * 6 sh /root/bin/backup.sh
1、编写运行脚本:
2、启动脚本
nohup sudo sh /data/script/monitor_dircharge.sh /tmp/inotify.log 21
3、添加开机启动
echo 'nohup sudo sh /data/script/monitor_dircharge.sh /tmp/inotify.log 21 ' /etc/rc.local
ORACLE服务器定时备份怎么做
编写备份数据库脚本。新建文本文档,粘贴如下内容:
echo 开始备份数据库
if not exist F:\db_bak\files md F:\db_bak\files
if not exist F:\db_bak\logs md F:\db_bak\logs
set var=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%
exp ora_user/ora_pwd@ora_conn file=F:\db_bak\files\xxxx_%var%.dmp log=F:\db_bak\logs\xxxx_%var%.log owner=(user1,user2)
echo 删除过久的备份记录
forfiles /p "F:\db_bak" /s /m *.dmp /d -60 /c "cmd /c del @path"
forfiles /p "F:\db_bak" /s /m *.log /d -60 /c "cmd /c del @path"
exit
把文本文档后缀名修改成.bat。
bat文件在windows下为可执行文件。
找到windows系统下的“任务计划程序”。
在WIN7下的位置是:开始--所有程序--附件--系统工具--任务计划程序
使用任务计划程序“创建基本任务”。,下一步:
选择任务何时开始执行,(选择每天),下一步:
设置任务开始执行的具体时间,(设置成零晨3点),下一步:
选择任务执行的具体操作,(启动程序),下一步:
选择程序或脚本,通过“浏览”按钮把我们在第1、2步骤编写好的bat文件指定好。,下一步:
任务创建好了。点击完成即可。至此,定时备份oracle数据库的操作已经完成
服务器定时备份的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于服务器定时备份数据、服务器定时备份的信息别忘了在本站进行查找喔。
本文由admin于2022-12-18发表在靑年PHP官网,如有疑问,请联系我们。
本文链接:https://www.qnphp.com/post/14415.html