2014-01-15 37 views
0

我有一個java jar,它運行在一個cronjob上,它將一個results- {date} .txt文件輸出到一個目錄中,並且不會通過電子郵件發送該文件的內容。有沒有一種方法可以告訴cronjob在jar完成運行後通過電子郵件發送該文件?從cronjob上運行java jar的電子郵件results.txt文件

或者有沒有一種方法可以設置echo以通過電子郵件發送目錄中的最新文件?

我也嘗試讓我的java罐子只打印results.txt名稱沒有日期,但無法弄清楚如何做到這一點。如果可以這樣做,則不需要第一種解決方案。

private static PrintStream makeOutputStream() throws FileNotFoundException { 
    String filename = "results.txt"; 
    return new PrintStream(new FileOutputStream(filename)); 
} 

public static void main(String[] args) throws IOException, ParseException, InterruptedException { 
    Options options = new Options(); 
    options.addOption("o", false, "Write output to stdout. By default, output is written to a file named results-[date-time].txt."); 
    options.addOption("s", true, "Use the given url as a base for the product page url. Default is " + SHOP_BASE_URL_DEFAULT); 
    CommandLineParser parser = new GnuParser(); 
    CommandLine cmd = parser.parse(options, args); 

    Checker checker = new Checker(cmd.getOptionValue("s", BASE_URL_DEFAULT)); 

    PrintStream stream = System.out; 
    if (cmd.hasOption("o")) { 
     stream = makeOutputStream(); 
    } 
} 

回答

0

在bash腳本創建並添加該腳本運行到的crontab:

  1. Java程序
  2. 郵件發送命令,例如「郵件-s 「$(回聲-e」 稱號\ nContent-Type:text/html「)」$ MAILING_LIST < report_ $ CUR_DATE *'
+0

謝謝,我明白了。我只是要使用結果 - *並刪除每個之後,我有貓文件 – adom

+0

這也可以通過bash腳本非常簡單地完成。祝你好運! – RMachnik