目录
前提必须保证你的Linux服务器安装了mysql数据库服务。
通过以下命令查询mysqldump位置
find / -name mysqldump
mysqldump位置通常是在/usr/bin/目录下
1、创建备份目录Shell脚本
我是在/home目录下进行备份,所以Shell也是在/home目录下
cd /home
mkdir backup
cd backup
2、创建Shell脚本
vim backupdb.sh
脚本内容
#!/bin/sh
#文件说明:用于数据库备份
#编写日期:2021-7-15
#数据库用户名
db_user="username"
#数据库密码
db_passwd="password"
#需要备份的数据库名称
db_name="databasename"
#备份的文件名称
name="databasename-$(date +%Y%m%d%H%M%S)"
#备份的文件路径
backup_dir="/home/backup"
#备份命令
/usr/bin/mysqldump -u$db_user -p$db_passwd $db_name >$backup_dir/$name.sql
#备份后进行文件压缩和删除源文件
cd $backup_dir
tar -zcvf $name.tar.gz $backup_dir/$name.sql
rm -f $backup_dir/$name.sql
注:
1)、数据库用户必须是拥有权限的用户
2)、/usr/bin/mysqldump:mysql数据库安装目录下的mysqldump备份工具路径
3、给Shell脚本添加执行权限
chmod +x backupdb.sh
4、给脚本添加定时任务
crontab -e
输入以上命令进入编辑
*/1 * * * * /home/backup/backupdb.sh
该命令的意思为每分钟执行以下backupdb.sh脚本。
crontab文件的说明:
用户创建的crontab文件中,每一行都代表一项定时任务,每行的每个字段代表一项设置,它的格式每行共分为六个字段,前五段是时间设定字段,第六段是要执行的命令字段。
格式如下:minute hour day month week command
参数说明:
minute: 表示分钟,可以是从0到59之间的任何整数。
hour:表示小时,可以是从0到23之间的任何整数。
day:表示日期,可以是从1到31之间的任何整数。
month:表示月份,可以是从1到12之间的任何整数。
week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
command:要执行的命令,可以是Linux系统命令,也可以是自己编写的脚本文件。