計畫任務 crontab 基本運用

2021-06-02 14:56:59 字數 3224 閱讀 5080

linux 計畫任務 crontab

基本格式:

*  *  *  *  *  command

分  時  日  月  周   命令

第1列表示分鐘1~59 每分鐘用*或者 */1表示

第2列表示小時1~23(0表示0點)

第3列表示日期1~31

第4列表示月份1~12

第5列標識號星期0~6(0表示星期天)

第6列要執行的命令

crontab檔案的一些例子:

30 21 * * * /opt/lampp/lampp restart

#上面的例子表示每晚的21:30重啟lampp。

45 4 1,10,22 * * /opt/lampp/lampp restart

#上面的例子表示每月1、10、22日的4 : 45重啟lampp。

10 1 * * 6,0 /opt/lampp/lampp restart

#上面的例子表示每週

六、週日的1 : 10重啟lampp。

0,30 18-23 * * * /opt/lampp/lampp restart

#上面的例子表示在每天18 : 00至23 : 00之間每隔30分鐘重啟lampp。

0 23 * * 6 /opt/lampp/lampp restart

#上面的例子表示每星期六的11 : 00 pm重啟lampp。

* */1 * * * /opt/lampp/lampp restart

#每一小時重啟lampp

* 23-7/1 * * * /opt/lampp/lampp restart

#晚上11點到早上7點之間,每隔一小時重啟lampp

0 11 4 * mon-wed /opt/lampp/lampp restart

#每月的4號與每週一到週三的11點重啟lampp

0 4 1 jan * /opt/lampp/lampp restart

#一月一號的4點重啟lampp

crontab 命令引數:

crontab -e : 新增/修改時程表

crontab -r : 刪除目前的時程表

crontab -l : 列出目前的時程表

crontab file [-u user]-用指定的檔案替代目前的crontab。

例項1:linux下svn客戶端版本庫定時更新

現有兩台機器

一台 windows : 192.168.1.125

一台 linux : 192.168.1.132 (ubuntu 10.04 lts / root)

windows 上執行有 svn-server (svn:

linux 上安裝有 svn-client , 現在想定時(每一小時)更新一次 linux 上的版本庫.

1, 先將 svn-server 上的版本庫檢出到 linux 機器的指定目錄 (/root/backup/winsvn/)

cd/root/

mkdirbackup

cdbackup/

mkdirwinsvn

cdwinsvn/

/usr/bin/svn checkout svn:

2, 設定 crontab

crontab -e

#將 crontab 中的內容修改如下

#第一條是定時同步時鐘的,

#第二條才是我們要的, 表示每小時的第50分鐘執行一次 svn 更新命令

#  注意:

#  lang=en_hk.utf-8

#                       否則會造成手動執行 update 命令成功,但放到 crontab 中更新不成功

lang=en_hk.utf-8

# m h  dom mon dow   command

19 * * * * /usr/sbin/ntpdate ntp.api.bz

50 * * * * /usr/bin/svn update /root/backup/winsvn --username kuco --password kucopwd --no-auth-cache > /root/backup/winsvn_backup.log

p.s. 特別注意 lang=en_hk.utf-8 很重要, 在這個問題鬱悶了很久. 可以通過 export 命令顯示系統環境編碼.

還有幾點零星的知識點也一併記錄在這裡吧

1, svn客戶端檢出的時候把使用者名稱和密碼都儲存了,如果想再切換成其它的使用者來檢出該怎麼操作?

# linux 下

rm -rf~/.subversion/auth

2, find 命令

# 在當前目錄下查詢檔案名為 rsyslog.conf 的檔案

find. -name "rsyslog.conf"

# find 命令詳細介紹

# 3, 開啟 crontab 日誌功能

# 預設情況下 ubuntu 執行 crontab 是沒有記錄日誌的, 我們要手動開啟

vim/etc/rsyslog.conf

# 發現 rsyslog.conf 呼叫了 /etc/rsyslog.d/*.conf

ls/etc/rsyslog.d/*.conf

# 先備份

cp/etc/rsyslog.d/50-default.conf /etc/rsyslog.d/50-default.conf.bak

# 再編輯

vim/etc/rsyslog.d/50-default.conf

# 將下面這一行前面的 # 去掉

#cron.*  /var/log/cron.log

# 重啟日誌服務

cd/etc/init.d/

service rsyslog restart

# 這樣 crontab 執行的日誌就會記錄在

/var/log/cron.log

crontab計畫任務

背景 公司要求刪除2天之前的備份檔案及所有日誌,免得把硬碟給整爆了,上伺服器看了下,居然都有3個月的備份沒有清理了 su root citics 200 cd du sh cd dbbak du sh cd rman du sh cd data du sh 125執行程式 vim delbkp.sh...

crontab計畫任務

編輯crontab檔案 crontab e 檢視crontab日誌 tail 100f var log cron 基本格式 command 分 時 日 月 周 命令 第1列表示分鐘1 59 每分鐘用 或者 1表示 第2列表示小時1 23 0表示0點 第3列表示日期1 31 第4列表示月份1 12 第...

crontab計畫任務

crontab是linux下定製計畫任務的工具,其使用方便,是居家旅行 定時搞事的必備神器。本篇記錄下crontab使用方法,以及注意坑點。command一般寫計畫任務,都是執行crontab e然後寫入計畫任務,儲存退出即可。sleep 10 每10s執行一次。30 21 usr local et...