Linux下定時任務的設置入門

一、創建shell文件
由於個人原因,偏向於先將定時執行的任務全部寫到一個shell文件,然後在定時任務時,只需要執行該shell文件即可。

以下爲shell文件示例,定時清理tomcat下的catlina.out文件

#!bin/sh
echo "開始清除catalina.out"
cat /dev/null > /mnt/tomcat7/logs/catalina.out
echo "成功清除catalina.out"

注意事項:
在編寫shell文件的時候一定要注意,千萬不要在pc上用記事本寫保存成.sh文件,這樣的shell文件在執行的時候將會出現不可預知情況。最好是copy一個能夠成功運行的sh文件,如tomcat7/bin/startup.sh 將 #!bin/sh 以下部分全部刪除,添加自己的內容

將shell文件copy到linux服務器,我存放的位置是 /home/auto_job

二、確定是否安裝 crond服務
確認方法 service crond status
如果提示信息是:
crond: unrecognized service
則表示未安裝,則需要按以下步驟安裝,否則跳過該步驟

安裝方法:
yum install vixie-cron
yum install crontabs

在彈出的對話框中選擇 Y 即可

三、啓動 crond 服務
crond 常用服務如下:
service crond start # 啓動服務
service crond stop # 停止服務
service crond restart # 重啓服務
service crond reload # 重新加載配置

四、配置crond配置文件 crontab 位置 /etc/crontab
我的配置如下:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed
# 清除catlina.out 每天早上定時執行
00  5  *  *  * root /home/auto_job/clear_catalina.sh

注意,除最後二行是我添加之外,其它均爲自動生成

關於該配置文件的寫法,網上有多種,上面只列舉了一種,將在每天的5點,執行 /home/auto_job/clear_catalina.sh 文件

注意事項:
在編寫 crontab 一定要注意文件未尾後的空格,切記,文件未尾一定不能有空格

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章