当前位置: 首页 > news >正文

网站备份策略

<<<备份策略>>>

	---平均每次备份数据量5M左右,该策略可由更改crontab实现自由设定(见附件:如何更改策略)

1.MYSQL,html每天03:00备份一次
2.FTP每天03:30上传到服务器一次
3.本地数据超过30天自动删除
4.服务器上数据可根据需要,手动删除

crontab -e
<i>
* 3 * * * /var/bak/html_bak.sh
* 3 * * * /var/bak/mysql_bak.sh
30 3 * * * /var/bak/ftp.sh
<Esc>
<:wq>
<Enter>



<<<备份环境>>>

	---环境变更,只需更改相应变量和ftp.sh脚本即可

<日期>		`date +%Y%m%d`				$CUR_DATE

FTP
脚本		/var/bak/ftp.sh

MYSQL
数据库		dpcm_web				$DB_NAME
暂存路径	/var/bak/data				$BAK_DIR
暂存文件	$BAK_DIR/<日期>/mysql.sqL
脚本		/var/bak/mysql_bak.sh

html
源文件路径	/var/www				$HTML_PATH
网站文件夹名	html					$HTML_FLD
暂存路径	/var/bak/data				$BAK_DIR
暂存文件	$BAK_DIR/<日期>/html.tar.gZ
脚本		/var/bak/html_bak.sh



<<<crontab命令说明>>>

crontab命令的一般形式为:
crontab [-u user] -e -l -r

其中:
-u 用户名。如果使用自己的名字登录,就不用使用-u选项。
-e 编辑crontab文件。不带-u选项可以编辑自己的crontab文件。
-l 列出crontab文件中的内容。不带-u选项可以列出自己的crontab文件的内容。
-r 删除crontab文件。小心使用哦。

crontab文件(各个用户的这个文件放在/var/spool/cron/crontab/目录中,以用户名来区别。)
每个条目中各个域的意义和格式如下。
下面就是这些域:
第1列分钟1~59
第2列小时1~23(0表示子夜)
第3列日1~31
第4列月1~12
第5列星期0~6(0表示星期天)
第6列要运行的命令

例子(注意:提交此命令会覆盖原来的文件,使用之前请做好备份。):
30 21* * * /apps/bin/cleanup.sh
上面的例子表示每晚的21:30运行/apps/bin目录下的cleanup.sh。
45 4 1,10,22 * * /apps/bin/backup.sh
上面的例子表示每月1、10、22日的4:45运行/apps/bin目录下的backup.sh。
10 1 * * 6,0 /bin/find -name "core" -exec rm {} \;
上面的例子表示每周六、周日的1:10运行一个find命令。
0,30 18-23 * * * /apps/bin/dbcheck.sh
上面的例子表示在每天18:00至23:00之间每隔30分钟运行/apps/bin目录下的dbcheck .sh。
0 23 * * 6 /apps/bin/qtrend.sh
上面的例子表示每星期六的11:00pm运行/apps/bin目录下的qtrend.sh。

既然是用户向cron提交了这些作业,就要向cron提供所需的全部环境。要保证在shell脚本中提供所有必要的路
径和环境变量,除了一些自动设置的全局变量。


相关文章:

  • web前端: Vue cli3 库模式搭建组件库并发布到 npm
  • 整理一个坛子里的笑话...稍微改编一下,就叫做《MM和一个程序员相亲的故事》!...
  • JQuery Delegate IOS上失效解决方案
  • deplate(Viki) 全面定制
  • webpack-dev-server默认打开指定chrome浏览器的方式
  • 发现CSDN给我开了一个专栏!
  • vue 组件预览图片
  • 中国教育中的0分作文
  • React Fiber是什么
  • 类似v-console
  • Substance 打造个性 NetBeans
  • eslint关闭相应规则的方法
  • 如何修复:Windows上面的WScript的脚本(.vbs)不能执行了?
  • 不走304缓存
  • 服务于3G手机的移动游戏应用软件开发环境
  • Docker: 容器互访的三种方式
  • Fastjson的基本使用方法大全
  • fetch 从初识到应用
  • Java精华积累:初学者都应该搞懂的问题
  • JS实现简单的MVC模式开发小游戏
  • LeetCode18.四数之和 JavaScript
  • leetcode386. Lexicographical Numbers
  • Python进阶细节
  • Spring Cloud中负载均衡器概览
  • Spring-boot 启动时碰到的错误
  • underscore源码剖析之整体架构
  • 从0到1:PostCSS 插件开发最佳实践
  • 大型网站性能监测、分析与优化常见问题QA
  • 服务器之间,相同帐号,实现免密钥登录
  • 简单易用的leetcode开发测试工具(npm)
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 前端面试之闭包
  • 正则表达式
  • 移动端高清、多屏适配方案
  • ​软考-高级-信息系统项目管理师教程 第四版【第19章-配置与变更管理-思维导图】​
  • #Linux(Source Insight安装及工程建立)
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • (C++20) consteval立即函数
  • (LeetCode C++)盛最多水的容器
  • (pt可视化)利用torch的make_grid进行张量可视化
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (力扣记录)1448. 统计二叉树中好节点的数目
  • (转)EXC_BREAKPOINT僵尸错误
  • (转)大型网站的系统架构
  • .net core 6 集成和使用 mongodb
  • .net websocket 获取http登录的用户_如何解密浏览器的登录密码?获取浏览器内用户信息?...
  • .NET 除了用 Task 之外,如何自己写一个可以 await 的对象?
  • .Net 中的反射(动态创建类型实例) - Part.4(转自http://www.tracefact.net/CLR-and-Framework/Reflection-Part4.aspx)...
  • .NET/C# 使用 SpanT 为字符串处理提升性能
  • .NET版Word处理控件Aspose.words功能演示:在ASP.NET MVC中创建MS Word编辑器
  • .NET面试题(二)
  • @Transactional注解下,循环取序列的值,但得到的值都相同的问题
  • [ 渗透工具篇 ] 一篇文章让你掌握神奇的shuize -- 信息收集自动化工具
  • [3300万人的聊天室] 作为产品的上游公司该如何?