今天我又弄了一下 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"
剩下的就看自己的操作了,比如自动提交,自动恢复,自动清理等等