gocron定时任务管理

基于gocron定时任务建设

  1. 基础环境配置

    golang安装

    下载

    wget https://dl.google.com/go/go1.21.6.linux-amd64.tar.gz

    export PATH=$PATH:/usr/local/go/bin

  2. 下载gocron组件

    wget https://github.com/ouqiang/gocron/releases/download/v1.5.3/gocron-v1.5.3-linux-amd64.tar.gz

    wget https://github.com/ouqiang/gocron/releases/download/v1.5.3/gocron-node-v1.5.3-linux-amd64.tar.gz

    root@filebackup software\]# tar -zxvf gocron-v1.5.3-linux-amd64.tar.gz gocron-linux-amd64/ gocron-linux-amd64/gocron \[root@filebackup software\]# tar -zxvf gocron-node-v1.5.3-linux-amd64.tar.gz gocron-node-linux-amd64/ gocron-node-linux-amd64/gocron-node \[root@filebackup software\]#

    创建数据库和用户

    创建数据库

    CREATE DATABASE gocron DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_unicode_ci;

    创建用户

    CREATE USER 'gocron'@'%' IDENTIFIED WITH mysql_native_password BY 'TNAYNCSfKK5oLl0H';

    GRANT ALL PRIVILEGES ON gocron.* to 'gocron'@'%';

  3. 配置节点

    nohup /data/myapp/gocron/gocron-node -allow-root > /tmp/gocron-node.log 2>&1 &

  4. 配置数据

  5. 配置告警webhook

    https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=3b3bdb5e-8cad-4398-9757-8559dd7a4315

    {

    "msgtype": "text",

    "text": {

    "content" : "任务ID:{{.TaskId}}\n任务名称:{{.TaskName}}\n任务执行结果:{{.Status}}\n任务执行输出{{.Result}}"

    }

    }

  6. 添加节点

    节点名称: Filebackup

    主机名:ip地址

    端口:5921

  7. 备份配置

    MySQL 5:

    /data/scripts/mysql57_backup.sh -I 12312-P 3306

    MySQL 8:

    /data/scripts/mysql8_backup.sh -I 123 -P 3320

    postgres:

    /data/scripts/pg_backup.sh -I 10.123 -P 5432 -D /data/myapp/postgres13

    Mongodb:

    /bin/bash /data/scripts/mongodb_yapi.sh -I 123 -P 27017 -U 123 -C 123

    归档日志备份

相关推荐
ursazoo1 小时前
写了一份 7000字指南,让 AI 帮我消化每天的信息流
人工智能·开源·github
冬奇Lab9 小时前
一天一个开源项目(第37篇):awesome-selfhosted - 自托管软件资源集合
开源·自动化运维·资讯
冬奇Lab1 天前
一天一个开源项目(第36篇):EverMemOS - 跨 LLM 与平台的长时记忆 OS,让 Agent 会记忆更会推理
人工智能·开源·资讯
冬奇Lab1 天前
OpenClaw 源码深度解析(一):Gateway——为什么需要一个"中枢"
人工智能·开源·源码阅读
HelloGitHub1 天前
《HelloGitHub》第 119 期
开源·github
冬奇Lab2 天前
一天一个开源项目(第35篇):GitHub Store - 跨平台的 GitHub Releases 应用商店
开源·github·资讯
Bigger2 天前
为什么你的 Git 提交需要签名?—— Git Commit Signing 完全指南
git·开源·github
chainStriker3 天前
从零到上线:Python开源项目的规范化开发与发布指南
python·开源
IvorySQL3 天前
揭开 PostgreSQL 读取效率问题的真相
数据库·postgresql·开源