什么是日志文件?为什么要设立日志文件?
1、日志文件是用来记录事务对数据库的更新操作的文件。2、设立日志文件的目的是: 进行事务故障恢复;进行系统故障恢复;协助后备副本进行介质故障恢复。
但是,随着时间,日志文件内存过于增加,将会导致在日志添加过程效率降低,延长时间,这又如何解决呢?本文就来说一说使用脚本文件定时备份项目运行过程产生的日志文件吧~~~~
编写脚本
在user下创建一个myshell文件夹,在myshell文件夹创建一个sh脚本
cd /user mkdir myshell cd myshell touch beifen.sh
编写
#!/bin/bash
# MySQL用户名
USER="root"
# MySQL密码(出于安全考虑,通常不建议直接在脚本中明文存储密码)
# 可以通过mysql_config_editor或其他方法安全地处理密码
PASSWORD="root"
# 要备份的数据库名,如果要备份所有数据库,则使用 --all-databases
DATABASE="db1"
# 备份文件存放的路径和文件名(使用日期作为文件名的一部分以便于区分)
BACKUP_DIR="/usr/myshell"
BACKUP_FILE="$BACKUP_DIR/$(date +%Y%m%d_%H%M%S)_$DATABASE.sql"
# 创建备份目录(如果尚未存在)
mkdir -p $BACKUP_DIR
# 执行mysqldump命令
mysqldump -u$USER -p$PASSWORD $DATABASE > $BACKUP_FILE
# 压缩备份文件(可选)
echo "Database backup successful: $BACKUP_FILE"
使用定时任务执行脚本
编写定时任务
crontab -e
我们的定时规则
* * * * * command_to_execute
- - - - -
| | | | |
| | | | +---- Day of the Week (range: 0-7, 0 or 7 is Sun, or use names) 周
| | | +------ Month of the Year (range: 1-12, or use names) 月份
| | +-------- Day of the Month (range: 1-31) 天
| +---------- Hour (range: 0-23) 小时
+------------ Minute (range: 0-59) 分钟
每两分钟执行一次脚本
*/2 * * * * /usr/myshell/beifen.sh
执行之前要先给sh脚本权限
chmod 777 beifen.sh
编写定时任务并wq退出
查看定时任务
crontab -l
可以看到每隔两分钟就会备份一次sql文件
取消定时任务
清空任务,保存并退出
再过两分钟后看文件夹里是否还会有生成的文件