1、创建backmysql.sh脚本

#!/bin/bash
#备份路径
BACKUP=/home/backup/mysql
#当前时间
DATETIME=$(date +%Y-%m-%d)
echo "===备份开始==="#后台系统数据库
DATABASE=wechat
#数据库地址
HOST=localhost
#数据库用户名
DB_USER=root
#数据库密码
DB_PW=xydtech
#创建备份目录
[ ! -d "${BACKUP}/$DATETIME" ] && mkdir -p "${BACKUP}/$DATETIME"
echo "备份文件存放于${BACKUP}/$DATABASE-$DATETIME.sql"#echo $DATABASE-$DATETIME
#mysqldump -u${DB_USER} -p${DB_PW} --single-transaction --host=$HOST -q -R --databases $DATABASE | gzip > ${BACKUP}/$DATETIME/$DATABASE.sql
mysqldump -h localhost  -u${DB_USER} -p${DB_PW}  ${DATABASE} >${BACKUP}/$DATETIME/$DATABASE-$DATETIME.sqlecho "===导出成功,开始传输==="
#压缩成tar.gz包
cd $BACKUP
tar -zcvf $DATETIME.tar.gz $DATETIME
#备份到服务器B
#scp $DATABASE-$DATETIME.sql root@1.1.1.2:/home/backup/mysql
#删除备份目录
rm -rf ${BACKUP}/$DATETIME#删除10天(不含)前备份的数据,这边可以自行更改
find $BACKUP -mtime +10 -name "*.tar.gz" -exec rm -rf {} \;
echo "===数据库备份到服务器成功==="

2、上传文件到linux服务器并执行以下命令

sed -i 's/\r$//' backmysql.sh #意思是把行尾的\r替换为空

#给脚本文件添加权限
chmod u+x backmysql.sh#替换以\r结束的字符换成空白,否则会报错/bin/bash^M: 坏的解释器: 没有那个文件或目录
sed -i 's/\r$//' backmysql.sh
#测试执行
./backmysql.sh

3、使用crontab定时任务,去实现固定时间自动执行脚本

输入crontab -e,开始编辑定时任务
#输入以下代码 表示每天23:59自动执行代码
59 23 * * * /home/backmysql.sh
输入:wq 保存退出

注解:

1、Linux—crontab相关命令:

crontab –e : 修改 crontab 文件. 如果文件不存在会自动创建crontab –l : 显示 crontab 文件crontab -r : 删除 crontab 文件crontab -ir :删除 crontab 文件前提醒用户例如:
# 在 12:01 a.m 运行,即每天凌晨过一分钟。
# 这是一个恰当的进行备份的时间,因为此时系统负载不大。
1 0 * * * /root/bin/backup.sh#每个工作日(Mon – Fri) 11:59 p.m 都进行备份作业。
59 11 * * 1,2,3,4,5 /root/bin/backup.sh# 每5分钟运行一次命令
*/5 * * * * /root/bin/check-status.sh #每个月的第一天 1:10 p.m 运行
10 13 1 * * /root/bin/full-backup.sh #每个工作日 11 p.m 运行。
0 23 * * 1-5 /root/bin/incremental-backup.sh

2、Linux—atime、ctime与mtime 相关说明:

atime是指access time,即文件被读取或者执行的时间,修改文件是不会改变access time的。

ctime即change time文件状态改变时间,指文件的i结点被修改的时间,如通过chmod修改文件属性,ctime就会被修改。

mtime即modify time,指文件内容被修改的时间。

可以使用stat可以查看文件的atime、ctime、mtime。
stat 文件名

例如:


[root@xydtech mysql]# stat 2022-04-13.tar.gz 文件:"2022-04-13.tar.gz"大小:6458627      块:12616      IO 块:4096   普通文件
设备:fd02h/64770d  Inode:545915087   硬链接:1
权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
环境:unconfined_u:object_r:home_root_t:s0
最近访问:2022-04-13 14:19:03.511967363 +0800
最近更改:2022-04-13 14:31:04.836950655 +0800
最近改动:2022-04-13 14:31:04.836950655 +0800
创建时间:-注:如果要修改可以使用touch -t 可以改变这三个时间。
touch -t 日期时间 文件
例如:touch -t 202204020101.30 2022-04-02.tar.gz

find . –mtime n中的n指的是24*n, +n、-n、n分别表示:

+n: 大于n

-n:    小于n

n:等于n

参考原文链接:https://blog.csdn.net/weixin_45075031/article/details/123975320

linux系统定时备份mysql备份数据库相关推荐

  1. Percona Xtrabackup备份mysql大数据库(完整备份与增量备份)

    Percona Xtrabackup备份mysql大数据库(完整备份与增量备份) 文章目录 [隐藏] Xtrabackup简介 Xtrabackup安装 Xtrabackup工具介绍 innoback ...

  2. linux mysql cpu 高,Linux系统中关于Mysql数据库导致CPU很高的问题解决

    Linux系统中关于Mysql数据库导致CPU很高的问题解决 发布时间:2007-11-19 00:01:12来源:红联作者:spworks 服务器环境 Liunx AS4 + PHP5 + Mysq ...

  3. Linux系统下授权MySQL账户访问指定数据库和数据库操作

    Linux系统下授权MySQL账户访问指定数据库 需求: 1.在MySQL中创建数据库mydata 2.新建MySQL账户admin密码123456 3.赋予账户admin对数据库mydata具有完全 ...

  4. 查询linux安装了什么数据库,Linux系统中安装MySQL数据库操作手册

    Linux系统中MySQL数据库安装手册 一.安装概述: 在Linux操作系统中安装MySQL数据库是一个我们必须要掌握的一门技术,也决定了你以后找工作的薪资待遇,所以你知道它的厉害了吧!学会安装只是 ...

  5. 解决linux系统中的mysql数据库,区分大小写的问题

    解决linux系统中的docker-mysql数据库,区分大小写的问题 最近研究docker比较勤,偶然发现,我项目的数据库改成服务器上的docker容器中的数据库,就会给我报错 说是没得这表,这数据 ...

  6. 2.1.Linux系统下启动MySQL的命令及相关知识

    2019独角兽企业重金招聘Python工程师标准>>> 一.总结一下:     1.Linux系统下启动MySQL的命令:     /ect/init.d/mysql start ( ...

  7. Linux系统下启动MySQL的命令及相关知识

    一.总结一下: 1.Linux系统下启动MySQL的命令: /ect/init.d/mysql start (前面为mysql的安装路径) 2.linux下重启mysql的命令: /ect/init. ...

  8. linux系统每月定时重启,linux系统定时重启.doc

    linux系统定时重启 linux系统定时重启 -------------------- 每个月1号凌晨3点自动重启 步骤如下: 1.用root帐号登陆: 2.打开终端窗口: 3.输入"cr ...

  9. 2008 mysql 本地安全_如何在Linux系统中建立mysql的本地安全机制?

    如何在Linux系统中对MySQL进行本地的安全机制?今天我们将给大家介绍下具体的操作方法. local-infile=0#关闭远程连接,即3306端口.这是LinuxMySQL的默认监听端口.由于此 ...

  10. 如何在Linux系统中安装DBeaver通用数据库工具

    DBeaver是一个开源.功能齐全.跨平台的通用数据库管理工具和SQL客户端,可在Linux操作系统.Windows和macOS 系统上运行. DBeaver支持80多个数据库管理系统,包括Postg ...

最新文章

  1. calabash-android教程,自动化测试工具_Calabash-android调研
  2. Redis简介及安装
  3. bp神经网络_BP神经网络的原理介绍
  4. 考虑长度、大小写的字符串对比
  5. 谈谈MySQL面试的45个常见问题
  6. anaconda安装成功测试_学习笔记120—Win10 成功安装Anaconda 【亲测有效,需注意几点!!!】...
  7. Java基础学习总结(46)——JAVA注解快速入门
  8. 使用jquery-qrcode生成二维码
  9. java 分析数据类型_Java数据类型分析
  10. WCF REST(9篇)
  11. 3ds Max 中的导航控件SteeringWheels入门介绍
  12. JSONObject.fromObject() 转换时的日期处理问题
  13. 计算机系统的性能能被准确测量吗,信息技术 基于计算机的软件系统的性能测量与评级...
  14. c语言编程八卦方位,易经手掌八卦图,如何C语言编程画一个彩色的周易八卦图...
  15. linux技术发展方向,linux技术的发展方向有哪些?Linux运维入门
  16. linux sis启动命令,Linux系统开机过程详细分析
  17. 双色球历史数据下载最新2003年2021年
  18. linux桌面记事本,推荐6款简单实用的手机记事本APP,总有一款适合你的‖APP展览馆...
  19. 配置exchange2010邮箱和邮件大小限制
  20. xx公司网站建设方案

热门文章

  1. 总结:机器学习之DBSCAN
  2. 【C语言】三子棋(经典解法+一览图)
  3. 基础算法——二分(与你的女同学玩猜数字游戏)
  4. Java Pattern类详解
  5. 天山云服务器在线灯为啥不亮,灯全不亮,没跳闸,插座有电
  6. Alternativa3D也可以!3D立体效果(需要红蓝眼镜)
  7. python 独热码_数据预处理:独热编码(One-Hot Encoding)
  8. [微信小程序]微信小程序点击事件返回值的target分析
  9. R语言——安装程序包时找不到对象怎么办?
  10. VTK读取dicom序列,并保存成vtk和obj格式的3D格式文件