linux自动定时备份web程序和mysql数据库

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

前些天受朋友说linux定时备份不知道怎么搞,叫帮忙处理一下。由于这段时间正闲着,所以也就欣然答应。由于朋友对linux不懂也希望我将操作的过程记录下来,也就是越详细越好。所以写得比较$%^&*。本以为半个小时或者一个小时可以搞好,谁不知整整搞了一天。原因在哪呢?这里也顺便吐槽一下,首先问web存放在什么地方?不知,给了个ftp。然后进去一看,各种压缩包,各种目录备份,混乱不堪,为了防止磁盘被撑爆,所以一个个目录确认,哪些目录是要的哪些是不要的,然后一个个删掉。还有mysql数据库,问用的哪个?不知,又是一通的等,一遍遍地确认。好吧,这也都算了。等我搞好了,然后说每天检查一下。谁不知,程序猿最怕发生的事情义无意外地发生了。目录搞错,这不等于万恶的改需求吗?脑子瞬间都是各种@!#$%^&*(!@#$%^^&*()。好吧,不接都已经接了认了吧。好了吐槽至此,不废话入正题。

需求:

  1、每天定时备份web程序和mysql数据库

  2、web程序、web日志和mysql数据库备份均保留7天

说明:

  web目录:/chinasofti/www/bbswebdir

  web日志目录:/chinasofti/www/bbswebdir/httplogs

  日志文件名格式:myweb.com-access_log_YYYYMMDD,myweb.com-error_log_YYYYMMDD,如myweb.com-access_log_20150508,myweb.com-error_log_20150508

  备份脚本存放目录:/chinasofti/wwwbakscript/

  备份文件存放目录:/chinasofti/wwwbakdir/

  web备份文件名格式:bbs.myweb.com_YYYYMMDD,如bbs.myweb.com_20150508.tar.gz

  mysql备份文件格式:数据库名_$(date +%Y%m%d).sql.gz

写在前面:务必注意各个目录的说明,运用是注意修改。完全不改是用不了的。注意各个目录和文件的对应关系。

淡绿色底的为linux命令,淡黄色底的为shell脚本内容,其他的为备注说明。

操作步骤

root用户登陆后
1、切换目录
cd /chinasofti/wwwbakscript
2、创建备份脚本
vi mywebbak.sh

按i然后输入以下内容

  #!/bin/bash
  #backup /chinasofti/www/bbswebdir and database

  ###################切换到web目录#################
  cd /chinasofti/www/bbswebdir

  ###################删除web日志#################
  rm -f ./httplogs/myweb.com-access_log_$(date +%Y%m%d --date='7 days ago')
  rm -f ./httplogs/myweb.com-error_log_$(date +%Y%m%d --date='7 days ago')

  ###################删除备份文件#################
  rm -f /chinasofti/wwwbakdir/bbs.myweb.com_$(date +%Y%m%d --date='7 days ago').tar.gz

  ###################备份web程序#################
  tar -zcf /chinasofti/wwwbakdir/bbs.myweb.com_$(date +%Y%m%d).tar.gz ./* ./.[!.]*

  ###################删除备份数据库####################
  rm -f /chinasofti/wwwbakdir/数据库名_$(date +%Y%m%d --date='7 days ago').sql.gz
  ###################备份数据库####################
  mysqldump -u数据库账号 -p"数据库密码" 数据库 | gzip >/chinasofti/wwwbakdir/数据库名_$(date +%Y%m%d).sql.gz

  #################导出单个表数据和结构############

  #mysqldump -u账号 -p 数据库名 表名 > /root/XXXX.sql

添加完成后,按键盘右上角的“esc”键,然后输入英文的冒号加x(:x),回车完成。

注意:红色字体部分为路径(注意修改),品红色部分为文件名(注意修改)。

4、添加可执行权限
chmod +x mywebbak.sh

5、定时执行
crontab -e
按i编辑,添加运行的脚本和时间。如:
0 1 * * * /chinasofti/wwwbakscript/mywebbak.sh
则为每天凌晨1点执行,/chinasofti/wwwbakscript/mywebbak.sh这个shell脚本。
修改完成后,按键盘右上角的“esc”键,然后输入英文的冒号加x(:x),回车完成。

6、每天检查脚本是否正常运行。

其它相关文章:

windows下如何对mysql进行整裤备份

mysql导入和导出数据






本文转自秋楓博客园博客,原文链接:http://www.cnblogs.com/rwxwsblog/p/4488610.html,如需转载请自行联系原作者
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
5天前
|
存储 缓存 网络协议
Web客户/服务器程序
Web客户/服务器程序
|
2天前
|
存储 前端开发 网络协议
所有的 Web 应用其实就是一个 socket 服务端, 而用户使用的浏览器就是一个 socket 客户端程序
所有的 Web 应用其实就是一个 socket 服务端, 而用户使用的浏览器就是一个 socket 客户端程序
6 0
|
5天前
|
存储 安全 数据安全/隐私保护
Web应用程序的会话管理是一种跟踪和识别特定用户与Web服务器之间交互的技术
【5月更文挑战第12天】Python Web开发中,会话管理用于跟踪用户与服务器交互,如Flask框架提供的内置功能。以下是一个简单示例:安装Flask后,设置应用密钥,通过session读写用户状态。例如,创建一个显示和设置用户名称的Web应用,用户提交的名字将保存在会话中。在生产环境中,应安全存储密钥,如使用环境变量。扩展会话管理可借助第三方库实现更多功能,但可能需更多配置。
214 2
|
5天前
|
关系型数据库 MySQL Linux
服务器Linux系统配置mysql数据库主从自动备份
这是一个基本的配置主从复制和设置自动备份的指南。具体的配置细节和命令可能因您的环境和需求而有所不同,因此建议在操作前详细阅读MySQL文档和相关资源,并谨慎操作以避免数据丢失或不一致。
17 3
|
5天前
|
Oracle Java 关系型数据库
【服务器】python通过JDBC连接到位于Linux远程服务器上的Oracle数据库
【服务器】python通过JDBC连接到位于Linux远程服务器上的Oracle数据库
17 6
|
5天前
|
监控 测试技术 API
Python Web应用程序构建
【4月更文挑战第11天】Python Web开发涉及多种框架,如Django、Flask和FastAPI,选择合适框架是成功的关键。示例展示了使用Flask创建简单Web应用,以及如何使用ORM(如SQLAlchemy)管理数据库。
59268 4
|
5天前
|
JavaScript 前端开发 搜索推荐
blog-engine-09-nuxt 构建快速、SEO友好和可扩展的Web应用程序变得轻松
这篇内容介绍了Nuxt.js,一个基于Vue.js的服务端渲染框架。Nuxt.js的特点包括:服务端渲染提升首屏加载速度和SEO,文件系统为基础的路由,自动代码分割,强大插件系统和易于部署。安装步骤涉及安装Node.js,使用命令创建和初始化项目,启动开发服务器。使用Nuxt.js涉及创建页面,添加布局组件,配置路由以及构建和部署应用。Nuxt.js的优势在于其SSR、Vue.js生态、高性能和易用性,但也有服务器要求Node.js环境和对新手的学习曲线挑战。
|
5天前
|
缓存 负载均衡 前端开发
构建高性能 Java Web 应用程序
【4月更文挑战第19天】构建高性能 Java Web 应用涉及数据库优化(合理设计、查询优化、性能调优)、缓存策略(服务器端缓存、HTTP 缓存)、代码优化(避免冗余查询、减少对象创建、有效使用线程)、异步处理(增强并发能力)、负载均衡(分发请求、提升可靠性)、性能测试与监控(发现瓶颈、实时问题)、前端优化(减少加载时间、优化资源)、服务器配置(硬件资源、系统优化)以及代码压缩和资源合并。综合运用这些技术,能显著提升应用性能和用户体验。
|
5天前
|
SQL 安全 Go
如何在 Python 中进行 Web 应用程序的安全性管理,例如防止 SQL 注入?
在Python Web开发中,确保应用安全至关重要,主要防范SQL注入、XSS和CSRF攻击。措施包括:使用参数化查询或ORM防止SQL注入;过滤与转义用户输入抵御XSS;添加CSRF令牌抵挡CSRF;启用HTTPS保障数据传输安全;实现强身份验证和授权系统;智能处理错误信息;定期更新及审计以修复漏洞;严格输入验证;并培训开发者提升安全意识。持续关注和改进是保证安全的关键。
21 0
|
5天前
|
网络协议 关系型数据库 MySQL
Linux Ubuntu系统安装MySQL并实现公网连接本地数据库【内网穿透】
Linux Ubuntu系统安装MySQL并实现公网连接本地数据库【内网穿透】