Linux建立定時任務與日期格式化

2022-09-12 19:45:12 字數 3619 閱讀 8498

-----**自網路

$ crontab -u //設定某個使用者的cron服務,一般root使用者在執行這個命令的時候需要此引數

$ crontab -e //編輯任務

$ crontab -l //顯示當前任務

$ crontab -r //刪除當前所有任務

文字格式(crontab -e | cat /etc/crontab)

# .---------------- 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

示例:

每天早上6點

-----------------

0 6 * * * echo "good morning." >> /tmp/test.txt //注意單純echo,從螢幕上看不到任何輸出,因為cron把任何輸出都email到root的信箱了。

每兩個小時

-----------------

0 */2 * * * echo "h**e a break now." >> /tmp/test.txt

晚上11點到早上8點之間每兩個小時,早上八點

-----------------

0 23-7/28 * * * echo "h**e a good dream:)" >> /tmp/test.txt

每個月的4號和每個禮拜的禮拜一到禮拜三的早上11點

-----------------

0 11 4 * 1-3 command line

1月1日早上4點

-----------------

0 4 1 1 * command line

每次編輯完某個使用者的cron設定後,cron自動在/var/spool/cron下生成乙個與此使用者同名的檔案,此使用者的cron資訊都記錄在這個檔案中,這個檔案是不可以直接編輯的,只可以用crontab -e 來編輯。cron啟動後每過乙份鐘讀一次這個檔案,檢查是否要執行裡面的命令。因此此檔案修改後不需要重新啟動cron服務。

#獲取昨天日期 yyyymmdd 格式

yesterday=`date --date='1 days ago' +%y%m%d`

#獲取昨天日期 yyyy-mm-dd 格式

yesterday2=`date --date='1 days ago' +%y-%m-%d`

#獲取今天日期 yyyymmdd 格式

today=`date --date='0 days ago' +%y%m%d`

#獲取今天日期 yyyy-mm-dd 格式

today2=`date --date='0 days ago' +%y-%m-%d`

#獲取明天日期 yyyymmdd 格式

today=`date --date='1 days' +%y%m%d`

#獲取明天日期 yyyy-mm-dd 格式

today2=`date --date='1 days' +%y-%m-%d`

#獲取當前時間 yyyy-mm-dd hh:mm:ss 格式

nowtime=`date --date='0 days ago' "+%y-%m-%d %h:%m:%s"`

#獲取當前日間 hh:mm:ss 格式

nowtime2=`date --date='0 days ago' +%h:%m:%s`

#獲取1小時前時間 yyyy-mm-dd hh:mm:ss 格式

onehourage=`date --date='1 hours ago' "+%y-%m-%d %h:%m:%s"`

#獲取1小時後時間 yyyy-mm-dd hh:mm:ss 格式

onehourage2=`date --date='1 hours' "+%y-%m-%d %h:%m:%s"`

#獲取2小時前時間 yyyy-mm-dd hh:mm:ss 格式

twohourage=`date --date='2 hours ago' "+%y-%m-%d %h:%m:%s"`

#獲取2小時後時間 yyyy-mm-dd hh:mm:ss 格式

twohourage2=`date --date='2 hours' "+%y-%m-%d %h:%m:%s"`

#獲取1個月前時間 yyyy-mm-dd hh:mm:ss 格式

date --date='1 month ago' "+%y-%m-%d %h:%m:%s"

#獲取1個月加1天前時間 yyyy-mm-dd hh:mm:ss 格式

date --date='1 month ago + 1 day ago' "+%y-%m-%d %h:%m:%s"

#獲取1個月減1天前時間 yyyy-mm-dd hh:mm:ss 格式

date --date='1 month ago - 1 day ago' "+%y-%m-%d %h:%m:%s"

#獲取1個月加1天加1小時加1分鐘加1秒鐘前時間 yyyy-mm-dd hh:mm:ss 格式

date --date='1 month ago + 1 day ago + 1 hour ago + 1 min ago + 1 sec ago' "+%y-%m-%d %h:%m:%s"

#獲取1個月加1天減1小時減1分鐘減1秒鐘前時間 yyyy-mm-dd hh:mm:ss 格式 可以 + - 濫用

date --date='1 month ago + 1 day ago - 1 hour ago - 1 min ago - 1 sec ago' "+%y-%m-%d %h:%m:%s"

#獲取1個月加1天加1小時加1分鐘加1秒鐘後時間 yyyy-mm-dd hh:mm:ss 格式

date --date='1 month + 1 day + 1 hour + 1 min + 1 sec ' "+%y-%m-%d %h:%m:%s"

#獲取1個月加1天減1小時減1分鐘減1秒鐘後時間 yyyy-mm-dd hh:mm:ss 格式

date --date='1 month + 1 day - 1 hour - 1 min - 1 sec ' "+%y-%m-%d %h:%m:%s"

#獲取1年後1個月加1天減1小時減1分鐘減1秒鐘後時間 yyyy-mm-dd hh:mm:ss 格式

date --date='1 year 1 month + 1 day - 1 hour - 1 min - 1 sec ' "+%y-%m-%d %h:%m:%s"

#獲取1年前1個月加1天減1小時減1分鐘減1秒鐘後時間 yyyy-mm-dd hh:mm:ss 格式

date --date='1 year 1 month + 1 day - 1 hour - 1 min - 1 sec ' "+%y-%m-%d %h:%m:%s"

linux建立定時任務

話不多說我們直接進入正題 1,首先選擇用那個程式來執行定時任務,這裡選用php 檢視php所在的路徑 root localhost html whereis php php usr bin php usr lib64 php etc php.ini etc php.d usr include php...

Linux建立定時任務

在linux下,經常需要定期的執行一些指令碼從而來實現一些功能。在linux下我們用crontab來實現定期的執行指令碼這個功能,下面就介紹一下crontab的使用。以及我遇到的一些問題 crond 是linux用來定期執行程式的命令。當安裝完成作業系統之後,預設便會啟動此任務排程命令。crond命...

linux定時任務 at定時任務

at命令是一次性定時計畫任務,at的守護程序atd會以後臺模式執行,檢查作業佇列來執行作業。atd守護程序會檢查系統上的乙個特殊目錄來獲取at命令的提交的作業,預設情況下,atd守護程序每60秒檢查一次目錄,有作業時,會檢查作業執行時間,如果時間與當前時間匹配,則執行此作業。注意 at命令是一次性定...