2012-11-16 40 views
2

這是我要運行的命令:計劃的Cron王氏猛砸

00 03 * * * backup.sh 

我明白,這將每天早晨跑在凌晨3點的腳本backup.sh。我如何使用bash腳本在我的linux服務器上添加這個cron命令?

回答

1

作爲根:

echo "00 03 * * * root backup.sh" >>/etc/crontab

echo "00 03 * * * root backup.sh" >/etc/cron.d/mybackupjob

由於自己的用戶:

crontab -l >tmp; echo "00 03 * * * backup.sh" >>tmp; crontab tmp; rm tmp

0

你知道/etc/cron.d目錄,對吧?如果不是,請輸入'man cron'。

+0

如何添加此命令/etc/cron.d中呢? – Jimmy

+0

你把文件寫在你的bash腳本寫出的那個目錄中。格式與常規crontab格式相同,只是增加了一個額外的文件(倒數第二個),用戶可以在其中運行該作業。 –

2

如何使用bash腳本在我的linux服務器上添加此cron命令?

如果你想爲根運行此,你可以將其內容如下命名爲backup/etc/cron.d文件:

00 03 * * * root backup.sh 

這假定backup.sh是在標準PATH,你可能想在此處使用完全合格的路徑而不是依靠PATH

00 03 * * * root /path/to/bin/backup.sh 

在許多發行版中,您還可以將backup.sh腳本(可能通過符號鏈接)放置到類似/etc/cron.daily的文件中,並且它每天晚上都會運行。這通常比編寫自己的crontab條目更簡單,更易於維護。

如果你想運行此作爲用戶,可以運行...

crontab -e 

...編輯您自己的crontab文件,並添加條目有:

00 03 * * * /path/to/bin/backup.sh 

請注意,我們不需要指定用戶名(這僅在/etc/cron.d/etc/crontab和其他全局系統位置中是必需的)

+0

這看起來不錯,謝謝。實際上將行添加到crontab -e所需的bash命令是什麼? – Jimmy

+0

'crontab -e'調出一個編輯器。你輸入行並保存文件並退出編輯器,這將激活你的新crontab文件。您也可以鍵入'crontab/path/to/your/crontab'來從現有文件安裝crontab而不是使用您的編輯器。還有'man crontab'和'man 5 crontab'。 – larsks

0

crontab -e將嘗試調用您EDITOR,使你的第一個腳本可以設置這對剛剛有問題的行追加到crontab第二個腳本:

#!/bin/sh 
EDITOR=/path/to/second/script crontab -e 

第二個腳本:

#!/bin/sh 
echo "00 03 * * * /path/to/bin/backup.sh" >> $1