使用linux的cron进程定时执行java程序

环境:

     RedHat Linux
     JDK5.0

功能说明:

     每天早上2点钟执行一次java程序,读取Oracle数据库的数据进行备份。

操作步骤:

     1、首先,将java程序打包成为jar包,包名为auto.jar,注意要设置该jar包的MANIFEST.MF的Main-Class的类,
        将jar包复制到/usr/local/目录下,同时将该jar包所依赖的jar包也复制到/usr/local/目录下,如 classes12.jar;
     2、在/usr/local/目录下创建shell脚本,脚本名称auto.sh,脚本内容为:
    
     #!/bin/bash
   cd /usr/local/
   /usr/java/jdk1.5/bin/java -jar auto.jar -cp /usr/java/jdk1.5/lib/tools.jar:/usr/java/jdk1.5/lib/dt.jar:/usr/local/classes12.jar:.
  
  
     说明:
     /usr/java/jdk1.5/是java安装路径
     java命令后面必须要加入-cp参数,cron在执行时不加载系统环境变量,如果不加这个参数,程序不会正常执行,
         即使命令行可以正确执行,但在cron调用时也会出现问题。
    
     3、使用crontab命令,输入如下内容:
     00 02 * * * /usr/local/auto.sh
    
     说明:
     每天早上两点钟执行/usr/local/auto.sh脚本,crontab的语法格式表达的含义可以参考相关手册。
    
    
     4、重启cron进程:
     /etc/init.d/cron restart

     经过上面的配置,每天早上两点钟执行/usr/local/auto.sh脚本对数据进行备份。

### 设置Cron作业以定期运行Java程序 #### 编辑Cron任务配置文件 对于系统级别的周期性任务,可以直接编辑全局配置文件`/etc/crontab`。而对于用户级别,则建议使用`crontab -e`命令来创建或修改个人用户的定时任务[^4]。 #### 创建Shell脚本来启动Java应用程序 为了简化管理和维护,在编写cron条目之前先准备一个简单的shell脚本用于调用Java应用: ```bash #!/bin/bash # 启动参数可以根据实际情况调整 java -jar /path/to/your/application.jar >> /var/log/myapp.log 2>&1 ``` 确保给该脚本赋予可执行权限: ```bash chmod +x /path/to/start_java.sh ``` #### 添加新的Cron Job 接着向系统的计划任务列表里加入新项以便按照设定的时间间隔触发上述脚本。这里给出几个例子说明不同频率的任务安排方法: - **每日凌晨两点钟** 执行一次: `0 2 * * * root /path/to/start_java.sh` - **每周日凌晨三点整** 运行一周一次的任务: `0 3 * * 0 root /path/to/start_java.sh` - **每月第一天早上四点钟** 处理月度工作: `0 4 1 * * root /path/to/start_java.sh` 注意:以上示例假设是以root身份执行这些操作;如果不是,请替换为实际用户名并考虑路径访问控制等问题[^1]。 #### 验证Cron服务状态 最后确认`crond`守护进程正在运行中,这样才能保证所有预定好的job能够按时被执行[^3]: ```bash service crond status ``` 如果发现未启动则可以尝试重启它: ```bash systemctl restart crond ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值