xxl-job调度shell脚本
时间: 2025-02-05 07:01:21 浏览: 226
### 使用 XXL-JOB 调度 Shell 脚本
#### 一、环境准备
为了能够使用 XXL-JOB 来调度 Shell 脚本,首先需要搭建好 XXL-JOB 的基本架构。这包括安装并运行 `xxl-job-admin` 和选择适合的执行器样例来部署应用。
对于希望快速上手且基于 Spring Boot 开发的应用程序来说,推荐采用 `xxl-job-executor-sample-springboot` 版本来构建执行器服务[^2]。
#### 二、创建自定义 JobHandler
在实际操作中,如果想要调用特定路径下的 Shell 文件作为任务的一部分,则可以在继承自 `IJobHandler` 接口的新类里实现具体的逻辑:
```java
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.IJobHandler;
import org.springframework.stereotype.Component;
@Component
public class MyShellScriptJob extends IJobHandler {
@Override
public ReturnT<String> execute() throws Exception {
Process process = Runtime.getRuntime().exec("/bin/bash /path/to/your/script.sh");
int exitCode = process.waitFor();
if (exitCode == 0){
return SUCCESS;
}else{
return FAIL;
}
}
}
```
这段代码展示了如何通过 Java 运行时对象启动一个新的进程去执行指定位置上的 Shell 命令,并等待它完成后再返回相应的状态给调度中心[^1]。
#### 三、注册任务到 Admin 控制台
当上述组件都准备好之后,在 Web 浏览器打开 `http://localhost:8080/xxl-job-admin` 登录页面,默认用户名密码均为 admin/admin 或 guest/guest(取决于具体版本)。登录成功后进入“任务管理”,点击右上方按钮新增一条记录,填写必要的参数比如名称、Cron 表达式以及所关联的任务处理器名——即上面例子中的 `MyShellScriptJob`.
#### 四、修改配置文件
最后一步是要确保本地开发环境中正确设置了与远程数据库连接有关的各项属性以及其他可能影响功能正常运作的关键设置项。通常情况下这些信息会被放置于项目的 application.properties 或者 yaml 类型配置文档内:
```properties
spring.datasource.url=jdbc:mysql://192.168.1.100:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=password
...
xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin
xxl.job.executor.appname=demo_executor_sample
xxl.job.executor.ip=
xxl.job.executor.port=9999
xxl.job.accessToken=
```
以上就是利用 XXL-JOB 实现定时触发外部命令的一个简单实例说明。
阅读全文
相关推荐


















