xiao
你是否还在每天手动执行重复的任务?数据库备份、数据同步、日志清理、服务监控...这些繁琐的工作完全可以交给 Cronin 来自动完成。本文将带你通过几个真实场景,快速掌握 Cronin 的基础任务创建,让你的工作更高效。
https://appstore.lazycat.cloud/#/shop/detail/cloud.lazycat.app.xiao.cronin
## 场景一:每天凌晨自动备份数据库
### 业务需求
作为运维人员,你需要确保生产数据库每天都有备份,以防数据丢失。手动备份不仅容易遗忘,还占用大量时间。
### 解决方案
使用 Cronin 创建一个 SQL 任务,每天凌晨 2 点自动执行数据库备份。
### 实施步骤
#### 1. 添加数据库和代码仓库链接
右上角菜单(三个点)点击连接,新增 sql 链接。填写数据库访问信息点击测试,测试成功后保存。

再创建一个 git 链接,填写凭据信息,测试通过后保存。

#### 2. 准备备份脚本
我们需要准备一个数据库备份的 SQL 脚本。可以选择两种方式:
**方式一:直接在 Cronin 中编写 SQL**
如果你的备份逻辑简单,可以直接在任务中编写 SQL 语句:
```sql
-- 创建备份表
CREATE TABLE IF NOT EXISTS user_backup_20240101 AS SELECT * FROM users;
```
**方式二:从 Git 仓库拉取脚本(推荐)**
对于复杂的备份逻辑,建议将脚本保存在 Git 仓库中,这样便于版本管理和团队协作。
#### 3. 创建定时任务
1. 点击"任务"菜单,选择"添加任务"
2. 填写任务基本信息:
- **任务名称**:`生产数据库每日备份`
- **执行类型**:选择"周期类型"
- **执行时间**:`0 0 2 * * *`(每天凌晨 2 点执行,cron 表达式:秒 分 时 天 月 星期)
3. 配置 SQL 任务:
- **执行类型**:选择 SQL
- **数据源**:选择已配置的生产数据库连接
- **SQL 脚本**:选择从 Git 拉取,填写仓库地址和脚本路径

确认无误后保存。

#### 3. 激活任务
配置完成后,默认是草稿状态(未启用)。

点击状态图标 ,选择激活并保存,任务就会按照设定的时间自动执行。

### 配置效果
- ✅ 每天凌晨 2 点自动执行备份
- ✅ 备份脚本版本化管理
- ✅ 无需人工干预,释放运维时间
## 场景二:定时调用 API 同步业务数据
### 业务需求
你的系统需要从第三方平台(如 CRM、ERP)定时同步数据,保持数据一致性。手动同步不仅效率低,还容易出错。
### 解决方案
使用 Cronin 的 HTTP 任务,定时调用第三方 API 接口,自动同步数据。
### 实施步骤
#### 1. 创建 HTTP 任务
1. 新建任务,选择执行类型为 **HTTP**
2. 配置任务信息:
- **任务名称**:`同步CRM客户数据`
- **执行时间**:`0 0 */2 * * *`(每 2 小时执行一次)
#### 2. 配置 API 请求
在 HTTP 任务配置中填写:
- **请求地址**:`https://api.crm.com/v1/customers/sync`
- **请求方法**:`POST`
- **请求头**:
- Authorization: Bearer YOUR_ACCESS_TOKEN
- Content-Type: application/json
- **请求体**:
```json
{
"last_sync_time": "2024-01-01T00:00:00Z",
"sync_type": "incremental"
}
```

### 配置效果
每两个小时就会调用 api 结构同步一次数据。
> 注意: Cronin 相当于是个定时触发器,api 接口实现同步的逻辑。
## 场景三:每周自动清理过期日志文件
### 业务需求
服务器上的日志文件每天都在增长,占用大量磁盘空间。需要定期清理 30 天前的日志文件,释放存储空间。
### 解决方案
使用 Shell 任务,编写清理脚本,每周执行一次。
### 实施步骤
#### 1. 编写清理脚本
创建 Shell 脚本 `cleanup_logs.sh` 保存到远程服务器上,如保存到 `/opt/scripts/cleanup_logs.sh` 文件中
```bash
#!/bin/bash
# 清理 30 天前的日志文件
find /var/log/app -name "*.log" -mtime +30 -delete
# 清理空目录
find /var/log/app -type d -empty -delete
# 记录清理操作
echo "$(date): Cleaned logs older than 30 days" >> /var/log/cleanup.log
```
#### 2. 添加主机链接
右上角菜单(三个点)点击连接,新增主机链接。填写远程主机访问信息点击测试,测试成功后保存。

#### 2. 配置 Shell 任务
1. 执行类型选择周期性任务
2. 执行时间写 `0 0 3 * * 0`(每周日凌晨 3 点执行,避开业务高峰期)
3. 选择执行类型为 **Shell**
4. 填写脚本路径:`/opt/scripts/cleanup_logs.sh`
5. 选择已配置的主机连接

### 扩展场景
- 🗑️ **清理临时文件**:每天清理 `/tmp` 目录下的临时文件
- 📦 **清理 Docker 镜像**:每周清理未使用的 Docker 镜像和容器
- 💾 **数据库归档**:每月将历史数据归档到冷存储
## 总结
通过以上三个真实场景,我们掌握了 Cronin 基础任务的核心用法:
- 📅 **定时任务**:让重复工作自动化
- 🔄 **数据同步**:保持系统间数据一致
- 🧹 **资源清理**:自动维护系统资源
现在,你已经可以开始用 Cronin 来优化你的工作流程了。记住,**自动化不是目的,提高效率才是**。从最耗时、最容易出错的任务开始,逐步将工作自动化,你会发现工作效率大大提升!
下一步,你可以学习《流水线与 Webhook 接收》,了解如何将多个任务串联起来,实现更复杂的自动化流程。
评论
0暂无评论