呼叫 URL 並儲存檔案的 CRON 的 Shell 腳本

呼叫 URL 並儲存檔案的 CRON 的 Shell 腳本

我在瀏覽器上手動輸入一個 URL,該 URL 呼叫一個具有 GET 函數的頁面,該函數直接提示我儲存檔案。我想在腳本上使用 cron 作業來自動化執行以下操作:

  • 呼叫網址
  • 將文件保存在特定資料夾中

有人可以幫忙寫劇本嗎?我可以私下提供 URL,以便測試行為。

答案1

無需使用使用者介面(文字或 GUI)即可下載 URL 的一種方法是使用wget所有需要的參數(如您所願)作為 cron 作業。

關於 wget

單一 URL 的範例(輸出名稱與時間戳合併,為了豐富答案,可以是靜態名稱):

 wget URL -O "/home/uname/dirn/`date +%y%m%d-%H%M%S`-n.htm" -b
 wget URL -O "/home/uname/dirn/`date +\%y\%m\%d-\%H\%M\%S`-n.htm" -b #in crontab

注意:在 cron 中,您必須使用“\%”(如上面的第二行),而不僅僅是“%”(如上面的第一行),因為 cron 解釋“百分比”字元。

其中:分解為:-O "/home..../date...-theRestOfTheName"

  • 絕對路徑(cron 可能配置了自己的路徑,因此從實際角度來看,在每個命令中指定您感興趣的路徑通常是有利的)

  • 即時執行,date輸出配置為人類可讀的時間戳

  • 目標檔案名稱的其餘部分

-b要求 wget 在背景工作,並登入 syslog。

您可以選擇使用檔案 ( ) 中的 URL 清單-i filename。您也可以使用 wget 及其線上說明頁 ( man wget) - 它相對較短,可以為您提供許多想法。

關於計畫任務

請注意,cron 假設您的電腦始終處於開啟狀態:在電腦關閉期間,cron 不會趕上作業。以目前使用者身分編輯 cron

crontab -e

新增一行配置,指定指令的執行頻率(簡單的指令在 crontab 編輯器的最上面幾行中顯示為註釋,請閱讀)。如果週日每 5 分鐘跑一次,你可以這樣寫:

# m  h  dom mon dow   command
*/5  *   *   *   0    wget google.com -O "/home/uname/dirn/`date +\%y\%m\%d-\%H\%M\%S`-ind3.htm" -b

相關內容