惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
人人都是产品经理
人人都是产品经理
H
Hacker News: Front Page
Stack Overflow Blog
Stack Overflow Blog
B
Blog
I
InfoQ
GbyAI
GbyAI
T
The Blog of Author Tim Ferriss
F
Fortinet All Blogs
Y
Y Combinator Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
月光博客
月光博客
Hugging Face - Blog
Hugging Face - Blog
爱范儿
爱范儿
F
Full Disclosure
Hacker News - Newest:
Hacker News - Newest: "LLM"
Recent Announcements
Recent Announcements
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Jina AI
Jina AI
T
Tailwind CSS Blog
S
Secure Thoughts
P
Privacy International News Feed
美团技术团队
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
L
LINUX DO - 最新话题
H
Hackread – Cybersecurity News, Data Breaches, AI and More
C
Cybersecurity and Infrastructure Security Agency CISA
Last Week in AI
Last Week in AI
W
WeLiveSecurity
Google Online Security Blog
Google Online Security Blog
P
Privacy & Cybersecurity Law Blog
D
DataBreaches.Net
Engineering at Meta
Engineering at Meta
Know Your Adversary
Know Your Adversary
P
Palo Alto Networks Blog
I
Intezer
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Project Zero
Project Zero
V2EX - 技术
V2EX - 技术
H
Heimdal Security Blog
博客园 - Franky
阮一峰的网络日志
阮一峰的网络日志
D
Darknet – Hacking Tools, Hacker News & Cyber Security
T
Troy Hunt's Blog
V
Vulnerabilities – Threatpost
H
Help Net Security
Martin Fowler
Martin Fowler
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
G
GRAHAM CLULEY
博客园 - 【当耐特】

Casear的技术栈

Ubuntu 26.04 装 NVIDIA 580 内网异机备份 conf 驱动 Razer_GRUB_Theme Fcitx5 输入法配置:切换中文输入法 服务器 zsh 环境配置记录:Zim + p10k + eza + zoxide # ThinkPad T490s Linux 指纹模块启用指南(KDE vanblog使用picgo图床的完整部署教程 vanblog备份恢复评论数据 如何配置一个虚拟显示器,以便远程没有显示器的系统 解决 OpenConnect VPN 由于 JScript 引擎丢失导致的 Error 1 修复 Fuck 2025 ATT&CK红队评估实战靶场二 一言 解决kde环境下切换登陆屏幕(SDDM)后显示异常 rss Linux实用软件分享 Kubuntu 上安装 显卡驱动 和 EnvyControl kubuntu 搜狗输入法安装问题解决 终端工具的选择 chatlog 青龙面板+wxBotWebhook实现自动推送天气 mac 安装 第三方应用问题 zsh 安装与配置,使用 oh-my-zsh 美化终端 pve虚拟机硬盘直通 tldr-pages 安装 pve安装Arch-linux Arch-linux安装桌面环境 提问的艺术极简板 Waline 服务端独立部署解决方案 记-先锋书店 api开发-更优雅的[规范响应数据] sqli 1-7关 Nginx Proxy Manager安装及避坑指南 Xiaomi-Mall-Home kali设置为中文 vscode连接docker查看代码 DVWA--SQL Injection(Blind)(盲注Python脚本) 使用Hexo生成大量页面时卡死问题解决 在Ubuntu上搭建Fivem服务器 互联网档案计划(Internet Archive) NEZHA监控面板美化 哪吒监控配置 CentOS7安装MySQL8.0 burpsuite ca证书安装 powerShell script 你一句春不晚,我就到了真江南 DVWA靶场--XSS(Reflected)教程 DVWA靶场--JavaScript Attacks (前端攻击) 强网杯2023 谍影重重2.0 wp 青龙面板定时规则 异地容灾备份系统两地三中心 转载 关于躺平 python打包可执行文件 python定义函数 MySQL8.0以上PHP连接问题
shell脚本备份 MySQL数据库
casearx@foxm · 2024-03-19 · via Casear的技术栈

请注意,本文编写于 961 天前,最后修改于 817 天前,其中某些信息可能已经过时。

#!/bin/bash set -e name="数据库备份_$(date +%Y-%m-%d_%H-%M-%S).sql" bendi=/var/backups/mysql yuancheng=192.168.236.30::backup user=root password='MySQL@329958' sql_host=localhost if [ ! -d "$bendi" ]; then mkdir -p "$bendi" echo "备份文件夹 $bendi 不存在,已创建该文件夹。" fi bak(){ echo "MySQL bakcup begin at `date`" echo "执行MySQLdump,备份文件路径为/var/backups/mysql/$name" mysqldump -hlocalhost -uroot -pMySQL@329958 a >/var/backups/mysql/$name echo "远程拷贝到192.168.236.30::backup$name" rsync -az $bendi$name.$d1 $yuancheng/$name echo "MySQL backup end at `date`" } bak >>${bendi}/mysqldump日志.log 2>>${bendi}/rsync日志.err echo $("备份成功") set +e

set -e 表示一旦执行命令出现错误,就立即退出脚本

name="数据库备份_$(date +%Y-%m-%d_%H-%M-%S).sql" # 定义备份文件名,包含当前时间 bendi=/var/backups/mysql # 定义本地备份路径 yuancheng=192.168.236.30::backup # 定义远程备份路径 user=root # 定义MySQL用户名 password='MySQL@329958' # 定义MySQL密码 sql_host=localhost # 定义MySQL主机地址

如果本地备份路径不存在,则创建该路径

if [!-d "$bendi"]; then mkdir -p "$bendi" echo "备份文件夹 $bendi 不存在,已创建该文件夹。" fi echo "备份文件夹 $bendi 不存在,已创建该文件夹。" fi

定义备份函数

bak(){ echo "MySQL bakcup begin at date" # 输出备份开始时间 echo "执行MySQLdump,备份文件路径为/var/backups/mysql/$name"

使用mysqldump命令备份MySQL数据库,并将备份文件保存到本地备份路径下

mysqldump -hlocalhost -uroot -pMySQL@329958 a >/var/backups/mysql/name echo "

远程拷贝到

192.168.236.30::backupname

使用rsync命令将备份文件同步到远程备份路径下

rsync -az $bendi$name.$d1 $yuancheng/$name echo "MySQL backup end at date" # 输出备份结束时间 }

执行备份函数,并将输出结果分别保存到日志文件和错误文件中

bak >>{bendi}/mysqldump日志.log 2>>{bendi}/rsync日志.err

输出备份成功信息


关闭错误退出模式


  1. set -e 表示一旦执行命令出现错误,就立即退出脚本,这是一种错误退 出模式。
  2. name="数据库备份_$(date +%Y-%m-%d_%H-%M-%S).sql" 定义备份文件 名,包含当前时间,以便于区分备份文件。
  3. bendi=/var/backups/mysql 定义本地备份路径,即备份文件保存的路 径。
  4. yuancheng=192.168.236.30::backup 定义远程备份路径,即备份文件同 步到远程服务器的路径。
  5. user=root 定义MySQL用户名。
  6. password='MySQL@329958' 定义MySQL密码。
  7. sql_host=localhost 定义MySQL主机地址。
  8. [ ! -d "$bendi" ] 判断本地备份路径是否存在,如果不存在则创建该路 径。
  9. bak() 是一个备份函数,主要功能是使用 mysqldump 命令备份MySQL 数据库,并使用 rsync 命令将备份文件同步到远程服务器上。
  10. bak >>${bendi}/mysqldump日志.log 2>>${bendi}/rsync日志.err 执行备 份函数,并将输出结果分别保存到日志文件和错误文件中。
  11. echo "备份成功" 输出备份成功信息。
  12. set +e 关闭错误退出模式,这是为了避免在脚本执行过程中出现错误而 导致整个脚本退出。