Shell 脚本自动备份数据库
准备工作
群晖套件中心的 MariaDB 兼容大多数 MySQL 命令,可以使用mysqldump
命令将数据库导出为.sql
格式
但是如果直接在 ssh 命令行中输入,会返回command not found
因此需要建立一条软链接,将命令路径:
/volume1/@appstore/MariaDB10/usr/local/mariadb10/bin/mysqldump
指向:
/usr/bin/mysqldump
建立软链接
以root
身份登录 ssh ,输入
ln -s /volume1/@appstore/MariaDB10/usr/local/mariadb10/bin/mysqldump /usr/bin/mysqldump
mysqldump命令导出
备份所有数据库:
mysqldump -u${USER} -p${PASSWORD} --all-databases > ${outputfile}
备份指定数据库:
mysqldump -u${USER} -p${PASSWORD} ${databasename} > ${outputfile}
Shell脚本
#!/bin/bash
#要备份的数据库
dbname=typecho
#数据库用户名
username=username
#数据库密码
password=password
#日期(eg.20220101)
today=`date +%Y%m%d`
#导出到数据库名称文件夹,文件名为 `数据库名-日期.sql`
mysqldump -u${username} -p${password} ${dbname} > /${dbname}/${dbname}-${today}.sql
设置自动执行
在群晖后台设置中添加每天凌晨4:30运行
😊😊