2016-05-15 3 views
0

Это мой Java-файл, для которого я создал Delete.jarCron работа не работает баночку

import java.io.*; 

public class Delete { 
public static void main(String[] args) 
    { 
     try{ 
      int i =1; 
      while(i<5){ 
       File directory = new File("downloads"); 
       System.out.println("I am running"); 
       for(File file: directory.listFiles()) file.delete(); 
       i++; 
      } 
     }catch(Exception e){ 

       e.printStackTrace(); 

     } 

    } 
} 

Это мой скрипт для запуска .jar файл, если он не работает

#!/bin/bash 
processid=`pgrep -f 'Delete.jar high'` 
echo "Processes:"$processid 
if [ -n "$processid" ] 
then 
echo "Process is running. No action will be taken" 
else 
echo "Process is not running. Executing ResponseHandler-fast now !" 
cd /home/ubuntu/; 
java -jar Delete.jar high 
fi 

Это линия, которую я добавил к моему кронтабу -e

* * * * * sh /home/ubuntu/check.sh 

Я перезагрузил мою систему я ожидал, что мой сценарий будет работать убедитесь, что банка не запускается и он будет запускать его, но это не так. Что я делаю неправильно здесь.

Если я выполняю ps после 2 -3 минут, все равно я не получаю java в качестве записи.

Спасибо.

+0

Проверить разрешение на скрипт !!! – Devavrata

ответ

1

Cron не волшебным образом заставляет программу «бегать вечно». Запустите программу вручную. Для запуска, вероятно, потребуется 1-2 секунды, затем выйдите. Это именно то, что происходит при работе с cron. Таким образом, если вы не запустите ps, во-вторых, ваша программа запустится, вы не увидите ничего в списке процессов.

Ваша петля 1..5 не поможет, так как после удаления файлов в первом раунде все остальное эффективно не работает.

1

Вы пытались запустить /home/ubuntu/check.sh вручную? Может быть, это не поиск файла jar или даже java-программы.

2

Пожалуйста, отправьте вывод вашего скрипта в файл журнала, как показано ниже (внести изменения в записи кронтаб):

* * * * * sh /home/ubuntu/check.sh >> /home/ubuntu/output.log 2>&1 

Таким образом, вы будете знать, что именно бежится, а затем нахождение точная причина станет проще.

Смежные вопросы