介绍:
crontab是一个linux下的定时执行工具,可以在无需人工干预的情况下运行作业。crontab 是Linux的内置服务,可以用以下的方法启动、关闭这个服务:
/sbin/service crond start //启动服务/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
/sbin/service crond status // 查看运行状态
1.新建maven项目“Monitor”
2.新建测试类与main方法
package com.monitor.test;
import java.io.File;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.util.Date;
public class Monitor {
public static void main(String[] args) throws Exception {
File file = new File("/home/users/test.txt");
FileWriter fw = new FileWriter(file, true);
PrintWriter pw = new PrintWriter(fw);
pw.println("追加内容,date:" + new Date());
pw.flush();
fw.flush();
pw.close();
fw.close();
}
}
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>Monitor</groupId>
<artifactId>Monitor</artifactId>
<version>1.0-SNAPSHOT</version>
<build>
<finalName>Monitor</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<configuration>
<archive>
<manifest>
<!-- main方法所在类-->
<mainClass>com.monitor.test.Monitor</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>
jar-with-dependencies
</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
4.打包
mvn -Dmaven.test.skip=true package
5.上传*jar-with-dependencies.jar到服务器
6.运行crontab -e 编辑定时器
加入: */1 * * * * /usr/local/java/jdk1.8/bin/java -jar /home/users/Monitor-jar-with-dependencies.jar
并保存
定时器示例:
5 * * * *每小时第5分钟执行
*/5 * * * *每5分钟执行
0 2 * * * 每天凌晨2点执行
7.观察users/目录下是否生成test.txt并每分钟写入内容