Skip to content

Linux 数据库备份脚本及实践

Published: at 04:21 PMSuggest Changes

今天我又弄了一下 Github Action 备份远程数据库

原来我是用 valerianpereira/backup-action@master 这个的,然后跑命令的时候报错

command not found: mysqldump

研究了一下,自己在命令行能跑,猜测是 valerianpereira/backup-action@master 执行的时候没有相关环境变量,查了一下相关文章,在用户文件夹下找到 /.bashrc 文件,插入下面的代码解决了问题

export PATH=$PATH:/usr/local/mysql/bin

后来我又跑去看 valerianpereira/backup-action@master 的源码,就不用这个插件了。

自己写了一段简单的命令行,还顺便学了一些简单的 shell 脚本写法

# 设置文件名
backupname="mysql.$(date +"%Y-%m-%d-%H%M%S").sql.gz"
# 远程到服务器,然后执行备份
ssh root@服务器 IP "cd backup ; mysqldump -q -u 用户名 -P 数据库端口 -p'数据库密码' 数据库名 | gzip -9 > $backupname"
# 从服务器上把文件下载回来
scp -o StrictHostKeyChecking=no -r root@服务器 IP:"/root/backup/$backupname" "./backups/$backupname"

剩下的就看自己的操作了,比如自动提交,自动恢复,自动清理等等


Previous Post
Vue 移动端适配方案
Next Post
Linux SSH 远程运行多个命令