2012-11-08 180 views
2

我是新來的cron作業。我閱讀了關於如何使用crontab編寫cron作業的post。 所以我的crontab是這樣的:crontab沒有運行我的腳本

1 * * * * /Users/apple/Desktop/wget/down.sh

這基本上意味着每一分鐘,我想執行腳本:down.sh。現在腳本手動運行 。該腳本是一個簡單的程序,從Internet下載一個PDF:

#!/bin/bash

wget -U Mozilla -t 1 -nd -A pdf "http://www.fi.usj.edu.lb/images/stories/HoraireS08/3eli.pdf" -e robots=off;

我不知道爲什麼它沒有運行每分鐘一次的終端告訴我,他在安裝新的crontab 。

有人可以幫助我嗎?

解決方案: 謝謝大家的幫助,語法mcalex說的應該是 * */1 * * *路徑/到/腳本 如果你希望它是每隔一小時執行。 cron作業正常運行。但是我的錯誤僅僅是寫入權限,實際上在執行wget命令時,它應該將pdf文件寫入當前workind目錄,該目錄是cron選項卡的系統目錄。所以我解決我的問題簡單地通過像這樣執行wget命令之前導航到桌面目錄:

cd /Users/apple/Desktop/wget

,然後做我想做的事情。 PS:我也應該包含wget命令的完整路徑。

謝謝大家再次爲您提供幫助:)

+0

它多久運行一次?另外,當你手動運行它時,任務需要多長時間? – mcalex

+0

@mcalex它根本沒有運行,並且手動幾乎立即執行腳本。 – Elie

+1

每個*小時*的時間表語法爲'0 * * * *',* * * * * *爲每個*分鐘*。 (備案) –

回答

3

您有錯字嗎?看起來你可能錯誤鍵入了桌面?

另一件事做的是重新運行該腳本文件的輸出,所以你可以看到發生了什麼事情是這樣的:

1 * * * * /用戶/蘋果/ Destop/wget的/向下。 sh >> /tmp/cron.out

然後查看該文件以查看發生了什麼。

+1

這隻會重定向stdout。如果您還想要錯誤,請執行以下操作:..down.sh >> /tmp/cron.out 2>&1 – AmitP

3
  • cron給你發了一些電子郵件,詳細說明出了什麼問題?
  • 該路徑下的腳本是否存在?
  • 請注意,cron使用/bin/sh來執行命令。
  • 您是否在腳本中設置了正確的PATHwget可能不在默認的PATH或根本沒有PATH。在腳本中嘗試使用/path/to/wget

注意,下載同一個PDF文件一次一分鐘可能是一個愚蠢的想法,但...

6

1 * * * * /用戶/蘋果/ Destop/wget的/向下。sh

從此條目腳本將永遠不會每分鐘運行,因爲它將在每小時的第一分鐘運行。

做此更改您的crontab文件,運行此腳本每分鐘。

「* * * * * /Users/apple/Destop/wget/down.sh」

7

當你在第一列放1,它會在第一分鐘(每小時)的運行。爲了得到它在每一個小時每一分鐘運行,你需要設置分列*/1

所以你行應爲:

*/1 * * * * /Users/apple/Desktop/wget/down.sh 

支持鏈接:每分鐘 工作: https://bbs.archlinux.org/viewtopic.php?id=59180
工作每5分鐘:http://www.thegeekstuff.com/2011/07/cron-every-5-minutes/

+1

注意:*/1 => *。 –

+0

@Elie你應該接受這個答案,因爲它是你尋找的解決方案 –

1

如果您的cronjob正在寫東西到磁盤,然後小心,系統偏好「把硬盤進入休眠狀態時可能」是沒有選。

這是防止我的cronjob備份任務執行。