提交 63901ddc authored 作者: PGY's avatar PGY

feat(deploy): 新增定时任务管理功能并优化数据库备份流程

- 移除原有的数据库备份脚本定时任务配置代码
- 添加新的check_crontab函数统一管理系统定时任务
- 配置数据库备份、文件清理、服务监控三项定时任务
- 优化NTP服务错误日志信息显示
- 增加定时任务重复性检查避免重复配置
上级 7203895b
...@@ -557,32 +557,31 @@ do ...@@ -557,32 +557,31 @@ do
done done
log "INFO" "数据库密码修改成功!" log "INFO" "数据库密码修改成功!"
log "INFO" "准备处理数据库备份脚本" # log "INFO" "准备处理数据库备份脚本"
$sudoset cp -rf $PWD/UbainsmysqlBakUp.sh /usr/local/docker/ # $sudoset cp -rf $PWD/UbainsmysqlBakUp.sh /usr/local/docker/
#定时备份数据库 # #定时备份数据库
sudo chmod +x /usr/local/docker/UbainsmysqlBakUp.sh # sudo chmod +x /usr/local/docker/UbainsmysqlBakUp.sh
/usr/local/docker/UbainsmysqlBakUp.sh # /usr/local/docker/UbainsmysqlBakUp.sh
userset="root" # userset="root"
sleep 5 # sleep 5
# 每天下午一点执行脚本 # # 每天下午一点执行脚本
log "INFO" "用cat检测是否有定时任务,没有则准备创建" # log "INFO" "用cat检测是否有定时任务,没有则准备创建"
if cat /var/spool/cron/$userset |grep "UbainsmysqlBakUp.sh">/dev/null # if cat /var/spool/cron/$userset |grep "UbainsmysqlBakUp.sh">/dev/null
then # then
log "INFO" "已配置数据库定时备份,准备重启定时任务" # log "INFO" "已配置数据库定时备份,准备重启定时任务"
sudo service crond restart # sudo service crond restart
else # else
#每天13点备份 # #每天13点备份
log "INFO" "配置数据库定时备份" # log "INFO" "配置数据库定时备份"
sudo tee -a /var/spool/cron/$userset <<EOF # sudo tee -a /var/spool/cron/$userset <<EOF
0 13 * * * bash /usr/local/docker/UbainsmysqlBakUp.sh # 0 13 * * * bash /usr/local/docker/UbainsmysqlBakUp.sh
EOF # EOF
sleep 3 # sleep 3
#该命令通用centos7、uos # #该命令通用centos7、uos
log "INFO" "配置数据库定时备份成功" # log "INFO" "配置数据库定时备份成功"
sudo service crond restart # sudo service crond restart
log "INFO" "重启定时任务成功" # log "INFO" "重启定时任务成功"
fi # fi
} }
#x86架构安装mqtt(预定2.0) #x86架构安装mqtt(预定2.0)
...@@ -684,7 +683,7 @@ fi ...@@ -684,7 +683,7 @@ fi
function ntp_uos() { function ntp_uos() {
# 判断如果是centos7就退出安装 # 判断如果是centos7就退出安装
if [ -f /etc/redhat-release ]; then if [ -f /etc/redhat-release ]; then
log "ERROR" "当前系统已经安装NTP服务,无需安装chrony服务" log "ERROR" "当前系统已经安装NTP服务"
return 1 return 1
fi fi
...@@ -908,6 +907,7 @@ function getLatestVersion() { ...@@ -908,6 +907,7 @@ function getLatestVersion() {
#------------------------------服务安装-end------------------------------------------------------------------------------------------------------------------------ #------------------------------服务安装-end------------------------------------------------------------------------------------------------------------------------
#------------------------------文件上传&更改ip-start------------------------------------------------------------------------------------------------------------------------ #------------------------------文件上传&更改ip-start------------------------------------------------------------------------------------------------------------------------
#todo:针对更新对外包,如果存在,需要判断是否更新 #todo:针对更新对外包,如果存在,需要判断是否更新
#-----------------------------------预定系统-------------------------------------------- #-----------------------------------预定系统--------------------------------------------
...@@ -1050,6 +1050,45 @@ sleep 3 ...@@ -1050,6 +1050,45 @@ sleep 3
#------------------------------文件上传&更改ip-end-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- #------------------------------文件上传&更改ip-end--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
function check_crontab() {
log "INFO" "开始配置数据库备份、删除进程检测、对外服务检测的定时任务.."
$sudoset mkdir -p /opt/scripts/
$sudoset cp -rf $auto_java/scripts/* /opt/scripts/
$sudoset chmod 755 /opt/scripts/*.sh
# 检查是否已存在相同的定时任务
if ! crontab -l 2>/dev/null | grep -q "mysql_backup.sh"; then
log "INFO" "创建数据库备份定时任务..."
(crontab -l 2>/dev/null; echo "0 2 * * * /opt/scripts/mysql_backup.sh >> /var/log/mysql_backup_cron.log 2>&1") | crontab -
else
log "INFO" "数据库备份定时任务已存在"
fi
if ! crontab -l 2>/dev/null | grep -q "clear_deleted_files.sh"; then
log "INFO" "创建删除文件清理定时任务..."
(crontab -l 2>/dev/null; echo "0 1 * * * /usr/local/bin/clear_deleted_files.sh >> /var/log/clear_deleted.log 2>&1") | crontab -
else
log "INFO" "删除文件清理定时任务已存在"
fi
if ! crontab -l 2>/dev/null | grep -q "monitor_exapi_and_malan.sh"; then
log "INFO" "创建监控exapi和malan服务的定时任务..."
(crontab -l 2>/dev/null; echo "*/5 * * * * /opt/scripts/monitor_exapi_and_malan.sh >> /var/log/monitor_exapi_and_malan.log 2>&1") | crontab -
else
log "INFO" "监控exapi和malan服务的定时任务已存在"
fi
# 重启cron服务
sleep 3
if command -v systemctl >/dev/null 2>&1; then
sudo systemctl restart cron 2>/dev/null || sudo systemctl restart crond 2>/dev/null
else
sudo service cron restart 2>/dev/null || sudo service crond restart 2>/dev/null
fi
log "INFO" "定时任务配置成功"
}
#------------------------------全局配置-start-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- #------------------------------全局配置-start--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
###服务器检测配置项 ###服务器检测配置项
#mem-check #mem-check
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论