1、创建一个.sh文件
#!/bin/bash
# 数据库配置
DB_USER="root"
DB_PASSWORD="123456"
DB_HOST="localhost"
DB_NAME="mysql"
BACKUP_DIR="/prodectTag/sql"
BACKUP_FILE="${BACKUP_DIR}/sql_$(date +'%Y%m%d_%H%M%S').sql" `
# 检查备份目录是否存在,如果不存在则创建
if [ ! -d "$BACKUP_DIR" ]; then
mkdir -p "$BACKUP_DIR"
echo "Backup directory created: $BACKUP_DIR"
fi
# 使用mysqldump命令备份数据库
mysqldump -h "$DB_HOST" -u "$DB_USER" -p"$DB_PASSWORD" "$DB_NAME" > "$BACKUP_FILE"
# 检查备份是否成功
if [ $? -eq 0 ]; then
echo "Database backup successful: $BACKUP_FILE"
else
echo "Database backup failed!"
fi
这个sh文件是将数据库导出备份。
2、给予该脚本执行权限
chmod +x 文件路径+文件名
3、定时任务
#执行命令,打开定时任务文件
crontab -e
4、添加定时任务
* * * * * command_to_execute
- - - - -
| | | | |
| | | | +----- 一周中的某一天 (0-7)(星期天=0或7)
| | | +------- 月份 (1-12)
| | +--------- 一个月中的某一天 (1-31)
| +----------- 小时 (0-23)
+------------- 分钟 (0-59)
#这个是时间+地址+sh文件名
0 0 * * * /path/to/your_script.sh
根据步骤完成操作后,就可以定时运作备份数据库了。
注意:
1、导出的路径需要写对,不然就会找不到导出的文件了
2、在创建完sh文件后,必须给予该脚本执行权限,不然就不能执行sh文件了。