簡體   English   中英

Bash 中的子 shell,使用 crontab

[英]Subshells in Bash, using crontab

我目前正在從事一些我們應該處理 cron 作業的學校項目,基本上,我們正在構建一個簡單的 CLI 來使用 Bash 進行 CRUD 操作。

我發現這段代碼將新作業插入到我的 crontab 中,但我不知道它是如何工作的......我知道它使用子外殼和管道,但我只是不知道為什么我必須這樣做

    read job
    { crontab -l; echo "$job"; } | crontab -

crontab是一個包含cron守護進程(Unix 操作系統的基於時間的作業調度程序)的作業(指令)的文件。

如果你把你的 bash 行放到一個腳本中,讓我們說cron_test.sh

#!/usr/bin/sh

read job
    { crontab -l; echo "$job"; } | crontab -

之后,如果您執行腳本./cron_test.sh ,您將看到腳本等待來自 stdin 您的輸入(將其存儲到名為 job 的變量中),以便為您的用戶創建一個新作業。

請小心,因為您必須遵守作業語法:

1 2 3 4 5 /path/to/command arg1 arg2

在哪里:

1: Minute (0-59)
2: Hours (0-23)
3: Day (0-31)
4: Month (0-12 [12 == December])
5: Day of the week(0-7 [7 or 0 == sunday])
/path/to/command – Script or command name to schedule

一些命令:

crontab -l - 列出當前的 crontab(針對您正在使用的用戶)

crontab -e - 編輯 crontab 文件

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM