linux的crontab定時配置全過程

2021-08-20 08:47:41 字數 1714 閱讀 2454

今天因為業務需求,需要在伺服器上配置定時任務執行資料庫的sql語句,所以使用到了linux 的crontab。特此記錄,分享一下自己的過程。

首先呢,我們知道crontab是在linux中用於設定在某些時間可以自動執行某些命令的功能。

在linux中使用crontab  -e 

可以直接到達編輯定時任務的介面。像編輯文字一樣。編輯的是/var/spool/cron下對應使用者的cron檔案,也可以直接修改/etc/crontab檔案。

我們先來看看標準的一條crontab配置是什麼樣的。

0 0 * * * /home/workspace/test/drop_cache.sh

而裡面的語法是這樣的:

分鐘     小時   天     月       天每星期       命令

每個字段代表的含義如下:

minute             每個小時的第幾分鐘執行該任務

hour               每天的第幾個小時執行該任務

day                 每月的第幾天執行該任務

month             每年的第幾個月執行該任務

dayofweek     每週的第幾天執行該任務

command       指定要執行的程式

所以上面的這個命令的意思就是在每天的零點零分的時候執行這個drop_cache.sh指令碼。

我們再給一些例子

1 1,2 * * * reboot    其中的1,2代表每天的1點和2點的第一分鐘的時候執行reboot命令,中間的逗號表示不同的時間點

1 1-3 * * * reboot    其中的1-3表示每天的1點到3點的第一分鐘的時候執行reboot命令。「-」可以表示乙個時間的範圍

*/1 * * * * reboot     這裡的*/1表示每隔一分鐘就執行reboot命令了

那大概搞明白了以後,就可以開始了,我要做的是把要執行的sql語句寫進指令碼檔案裡面。因為我使用的是postgresql的資料庫所以在這裡的示例就是關於postgresql的了。

export pgpassword="123456"

echo $pgpassword

psql -u postgres -d databasename <<_eot

update t_sys_name set name=1 where id=1;

_eot

這裡的databasename就是你的資料庫的名稱,上面的password也就是密碼了。然後寫好以後呢。我們儲存為update.sh。放在某個目錄下,然後crontab  -e 編輯配置檔案,加上:

*/5 * * * * /home/workspace/test/update.sh

然後儲存退出。這個的意思就是每隔5分鐘就執行一次這個update.sh指令碼了。

/sbin/service crond start //啟動服務

/sbin/service crond stop //關閉服務

/sbin/service crond restart //重啟服務

/sbin/service crond reload //重新載入配置

但是後面我還是發現沒生效。結果是因為我沒有對這個指令碼檔案進行許可權的分配。

chomd 755 /home/workspace/test/update.sh

按照慣例分享歌詞。

曾夢想仗劍走天涯  看一看世界的繁華

--曾經的你

Linux定時工具crontab

一.crontab工具 crontab u 設定某個使用者的cron服務 crontab e 編輯root使用者的cron服務,加上 u可編輯指定使用者的定時任務,例如 crontab u www e crontab l 列出root使用者cron服務的詳細內容,加上 u可檢視指定使用者的定時任務,...

linux 定時程式 crontab

1.作用 使用crontab命令可以修改crontab配置檔案,然後該配置由cron公用程式在適當的時間執行,該命令使用許可權是所有使用者。2.格式 crontab u user 3.主要引數 e 執行文字編輯器來設定時程表,內空的文字編輯器是vi r 刪除目前的時程表 l列出目前的時程表。cron...

linux的crontab定時器

安裝服務的命令 yum install crontabs 服務操作說明 service crond start 啟動服務 service crond stop 關閉服務 service crond restart 重啟服務 service crond reload 重新載入配置 service cr...