2009-09-28 21 views
0

我想編寫一個小腳本,做以下(這我可以運行使用我的crontab):系統日期和字符串之間的時間差異,例如從目錄名稱?

  • 查找到包含目錄,他們的名字都在某些日期格式的目錄,例如30-10-09。

  • 將目錄名稱轉換爲它所表示的日期(當然,我可以將這些信息作爲字符串放入這些目錄中的文件中,這對我來說無關緊要)。

  • 將每個日期與當前系統時間進行比較,並找到與當前系統日期具有特定時間差的日期。不到兩天。

  • 然後,對該目錄中的文件進行一些操作(例如,將它們粘貼在一起併發送電子郵件)。

我知道一個小小的bash腳本,但我不知道bash本身是否可以處理這個問題。我認爲我可以在R中做到這一點,但需要運行的服務器沒有R.

無論如何,我很好奇學習一點Python或Ruby(這兩者都在服務器上)。

有人能指出我在正確的方向什麼可能是最好的方式來做到這一點?

回答

1

我會建議使用Python。你需要以下功能:

  • os.listdir爲您提供了該目錄的內容,爲字符串
  • time.strptime(name, "%d-%m-%y")的名單將嘗試解析這樣的字符串,並返回一個時間的元組。解析失敗時會出現ValueError異常。
  • time.mktime將自時代起將時間元組轉換爲秒。
  • time.time返回秒數
  • smtplib模塊可以發送電子郵件,假設您知道使用哪個SMTP服務器。或者,您可以通過子流程模塊運行/usr/lib/sendmail(假設/usr/lib/sendmail已正確配置)