这两天做项目需要在linux系统下定时循环执行shell命令,在网上翻了翻资料,linux自带的cron工具可以创建计时任务,于是试了试,但发现这工具真的好多坑,搞了几个小时还没有弄好,最后想了想还是用java来比较方便,于是有了这段代码。
import java.util.Timer;
import java.io.IOException;
import java.util.TimerTask;
public class TimeShell {
public static void main(String[] args) {
TimerTask task = new TimerTask() {
@Override
public void run() {
String[] cmdScript = new String[]{"/bin/bash", "/home/abcd.sh"};
try{
Process procScript = Runtime.getRuntime().exec(cmdScript);
}catch (IOException e) {
e.printStackTrace();
System.out.println("Error...");
}
}
};
Timer timer = new Timer();
long delay = 0;
long intevalPeriod = 1 * 60000;
timer.scheduleAtFixedRate(task, delay, intevalPeriod);
}
}