日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux crontab工作日志,linux使用crontab执行定时任务

發布時間:2024/4/19 linux 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux crontab工作日志,linux使用crontab执行定时任务 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.當前有個項目,由于沒能找到更好的方式解決這個問題,只能使用Linux的定時任務代替,使用crontab定時執行php文件等。

一般套件服務器配置差不多都安裝了crontab服務,所以可以直接使用即可。

如果沒有安裝,centos可以使用yum安裝crontab服務。

安裝crontab:

yum install crontabs

1yuminstallcrontabs

說明:

service crond start //啟動服務

service crond stop //關閉服務

service crond restart //重啟服務

service crond reload //重新載入配置

1

2

3

4servicecrondstart//啟動服務

servicecrondstop//關閉服務

servicecrondrestart//重啟服務

servicecrondreload//重新載入配置

查看crontab服務狀態:

service crond status

1servicecrondstatus

手動啟動crontab服務:

service crond start

1servicecrondstart

查看crontab服務是否已設置為開機啟動,執行命令:

ntsysv

1ntsysv

加入開機自動啟動:

chkconfig –level 35 crond on

1chkconfig–level35crondon

crontab 配置文件格式 ?【參考鏈接:centos中crontab(計時器)用法詳解?】

基本格式 :

* ? ? *   *  ?*  ? *   command

分  時 日  月  周  ? 命令

1

2*??* * ?* ?*  command

分 時日 月 周 ?命令

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

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

第3列表示日期1~31

第4列表示月份1~12

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

第6列要運行的命令

定時執行我需要的php腳本【由于我這個php文件里面有引入文件,導致不能正常執行,我使用curl請求方式(還有lynx、wget等),如果要提高效率,php去執行本地php文件是最佳選擇】

#每分鐘遠程請求一次目標url

* * * * * root curl -i http://xxx/service/xx.php

1

2#每分鐘遠程請求一次目標url

*****rootcurl-ihttp://xxx/service/xx.php

以下提供幾種寫法

#使用PHP程序來調用PHP腳本。

00 * * * * /usr/local/bin/php /home/john/myscript.php

1

2#使用PHP程序來調用PHP腳本。

00****/usr/local/bin/php/home/john/myscript.php

#Lynx文本瀏覽器訪問URL來每小時執行PHP腳本

00 * * * * lynx -dump https://www.xxx.com/script.php

1

2#Lynx文本瀏覽器訪問URL來每小時執行PHP腳本

00****lynx-dumphttps://www.xxx.com/script.php

#使用WGET訪問URL來每10分執行PHP腳本。-q選項表示安靜模式。”-O temp.txt”表示輸出會發送到臨時文件

*/10 * * * * /usr/bin/wget -q -O temp.txt https://www.centos.bz/myscript.php

1

2#使用WGET訪問URL來每10分執行PHP腳本。-q選項表示安靜模式。”-O temp.txt”表示輸出會發送到臨時文件

*/10****/usr/bin/wget-q-Otemp.txthttps://www.centos.bz/myscript.php

2.crontab文件的一些例子:

#每晚的21:30 重啟apache

30 21 * * * /usr/local/etc/rc.d/lighttpd restart

#每月1、10、22日的4 : 45重啟apache

45 4 1,10,22 * * /usr/local/etc/rc.d/lighttpd restart

#每周六、周日的1 : 10重啟apache

10 1 * * 6,0 /usr/local/etc/rc.d/lighttpd restart

#每天18 : 00至23 : 00之間每隔30分鐘重啟apache

0,30 18-23 * * * /usr/local/etc/rc.d/lighttpd restart

#每星期六的11 : 00 pm重啟apache

0 23 * * 6 /usr/local/etc/rc.d/lighttpd restart

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

* 23-7/1 * * * /usr/local/etc/rc.d/lighttpd restart

#每一小時重啟apache

* */1 * * * /usr/local/etc/rc.d/lighttpd restart

#每月的4號與每周一到周三的11點重啟apache

0 11 4 * mon-wed /usr/local/etc/rc.d/lighttpd restart

#一月一號的4點重啟apache

0 4 1 jan * /usr/local/etc/rc.d/lighttpd restart

#每半小時同步一下時間

*/30 * * * * /usr/sbin/ntpdate 210.72.145.44

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20#每晚的21:30 重啟apache

3021***/usr/local/etc/rc.d/lighttpdrestart

#每月1、10、22日的4 : 45重啟apache

4541,10,22**/usr/local/etc/rc.d/lighttpdrestart

#每周六、周日的1 : 10重啟apache

101**6,0/usr/local/etc/rc.d/lighttpdrestart

#每天18 : 00至23 : 00之間每隔30分鐘重啟apache

0,3018-23***/usr/local/etc/rc.d/lighttpdrestart

#每星期六的11 : 00 pm重啟apache

023**6/usr/local/etc/rc.d/lighttpdrestart

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

*23-7/1***/usr/local/etc/rc.d/lighttpdrestart

#每一小時重啟apache

**/1***/usr/local/etc/rc.d/lighttpdrestart

#每月的4號與每周一到周三的11點重啟apache

0114*mon-wed/usr/local/etc/rc.d/lighttpdrestart

#一月一號的4點重啟apache

041jan */usr/local/etc/rc.d/lighttpdrestart

#每半小時同步一下時間

*/30****/usr/sbin/ntpdate210.72.145.44

3.如何查看crontab的日志記錄

當crontab中的同步任務時而成功,時而不成功,什么原因呢?我們需要通過日志來分析

日志目錄文件 【 /var/log/cron】

tail -f /var/log/cron

1tail-f/var/log/cron

4.使用Linux定時任務執行自動化備份數據庫

4.1?創建備份腳本【注意,如果使用windows平臺創建shell,可能會報錯, /sh^M】 {參考鏈接:http://www.osyunwei.com/archives/714.html}

[

因為操作系統是windows,我在windows下編輯的腳本,所以有可能有不可見字符。

腳本文件是DOS格式的, 即每一行的行尾以\n\r來標識, 其ASCII碼分別是0x0D, 0x0A.

可以有很多種辦法看這個文件是DOS格式的還是UNIX格式的, 還是MAC格式的

]

4.2?創建保存備份文件的目錄:/home/mysql_back

4.3 創建備份腳本文件: ?/home/crondshell/mysql_databak.sh

#!/bin/sh

DUMP=/alidata/server/mysql-5.5.40/bin/mysqldump #mysqldump備份文件執行路徑

OUT_DIR=/home/mysql_back #備份存放路徑

LINUX_USER=root #系統用戶名

DB_NAME=xxx #要備份的數據庫名字

DB_USER=root #數據庫賬號 注意:非root用戶要用備份參數 --skip-lock-tables,否則可能會報錯

DB_PASS=root #數據庫密碼

DAYS=7 #DAYS=7代表刪除7天前的備份,即只保留最近7天的備份

cd $OUT_DIR #進入備份存放目錄

DATE=`date +%Y_%m_%d` #獲取當前系統時間

OUT_SQL="1yrn_$DATE.sql" #備份數據庫的文件名

TAR_SQL="mysqldata_bak_$DATE.tar.gz" #最終保存的數據庫備份文件名

$DUMP -u$DB_USER -p$DB_PASS $DB_NAME --default-character-set=utf8 --opt -Q -R --skip-lock-tables> $OUT_SQL #備份

tar -czf $TAR_SQL $OUT_SQL #壓縮為.tar.gz格式

rm $OUT_SQL #刪除.sql格式的備份文件

chown $LINUX_USER:$LINUX_USER $OUT_DIR/$TAR_SQL #更改備份數據庫文件的所有者

find $OUT_DIR -name "mysqldata_bak*" -type f -mtime +$DAYS -exec rm {} \; #刪除7天前的備份文件(注意:{} \;中間有空格)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33#!/bin/sh

DUMP=/alidata/server/mysql-5.5.40/bin/mysqldump#mysqldump備份文件執行路徑

OUT_DIR=/home/mysql_back#備份存放路徑

LINUX_USER=root#系統用戶名

DB_NAME=xxx#要備份的數據庫名字

DB_USER=root#數據庫賬號 注意:非root用戶要用備份參數 --skip-lock-tables,否則可能會報錯

DB_PASS=root#數據庫密碼

DAYS=7#DAYS=7代表刪除7天前的備份,即只保留最近7天的備份

cd$OUT_DIR#進入備份存放目錄

DATE=`date+%Y_%m_%d`#獲取當前系統時間

OUT_SQL="1yrn_$DATE.sql"#備份數據庫的文件名

TAR_SQL="mysqldata_bak_$DATE.tar.gz"#最終保存的數據庫備份文件名

$DUMP-u$DB_USER-p$DB_PASS$DB_NAME--default-character-set=utf8--opt-Q-R--skip-lock-tables>$OUT_SQL#備份

tar-czf$TAR_SQL$OUT_SQL#壓縮為.tar.gz格式

rm$OUT_SQL#刪除.sql格式的備份文件

chown$LINUX_USER:$LINUX_USER$OUT_DIR/$TAR_SQL#更改備份數據庫文件的所有者

find$OUT_DIR-name"mysqldata_bak*"-typef-mtime+$DAYS-execrm{}\;#刪除7天前的備份文件(注意:{} \;中間有空格)

4.4?修改crontab 添加定時備份腳本任務

vim /etc/crontab

02?17?*?*?*?root ?/home/crondshell/mysql_databak.sh ?#表示每天 17點02分進行自動備份

1

2vim/etc/crontab

02?17?*?*?*?root?/home/crondshell/mysql_databak.sh?#表示每天 17點02分進行自動備份

5. 推薦

推薦學習網址:http://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/crontab.html

AD:【碼農技術Blog】

總結

以上是生活随笔為你收集整理的linux crontab工作日志,linux使用crontab执行定时任务的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。