centos下定時執行指令碼或者命令

2021-09-30 13:27:24 字數 2081 閱讀 2475

目前工作中需要實現定時備份mysql資料庫,這定時執行指令碼或者命令可以通過

crontabs,crontab儲存的指令被

守護程序

啟用, crond常常在後台執行,每一分鐘檢查是否有預定的作業需要執行。這類作業一般稱為cron jobs。

對於centos使用yum install crontabs命令即可安裝crontab,crontab是在unix/linux系統上定時執行某個任務的程式,crontab與crond是有區別的,crond服務是乙個定時執行的服務,可以通過crontab 命令新增或者編輯需要定時執行的任務

。檢視crond服務狀態:service crond status

啟動crond服務:service crond start

停止crond服務:service crond stop

修改了配置,重新載入配置:service crond reload

檢視crond服務是否已設定為開機啟動,執行命令:ntsysv

加入開機自動啟動:chkconfig –level 35 crond on

crontab設定計時器,語法:crontab [-u 《使用者名稱》][配置檔案] 或 crontab [-u 《使用者名稱》][-elr]。

cron是乙個常駐服務,它提供計時器的功能,讓使用者在特定的時間得以執行預設的指令或程式。只要使用者會編輯計時器的配置檔案,就可以使 用計時器的功能。引數說明如下所示:

-e  編輯該使用者的計時器設定。

-l  列出該使用者的計時器設定。

-r  刪除該使用者的計時器設定。

-u《使用者名稱》  指定要設定計時器的使用者名稱。

其配置檔案格式如下所示:

* *  *  *  *  command

分 時 日 月 周  命令

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

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

第3列表示日期1~31

第4列 表示月份1~12

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

第6列要執行的命令

# use the hash sign to prefix a comment

# +—————- minute (0 – 59)

# | +————- hour (0 – 23)

# | | +———- day of month (1 – 31)

# | | | +——- month (1 – 12)

# | | | | +—- day of week (0 – 7) (sunday=0 or 7)

# | | | | |

# * * * * * command to be executed

具體其他引數可以通過man crontab來檢視,這裡就不一一詳述。

crontab具體例項如下所示:

1.每晚的21:30重啟nginx:30 21 * * * /etc/init.d/nginx

restart

2.每月1、 10、22日的4 : 45重啟nginx:45 4 1,10,22 * * /etc/init.d/nginx restart

3.每一小時重啟nginx:* */1 * * * /etc/init.d/nginx restart

4.晚上11點到早上7點之間,每 隔一小時重啟nginx:* 23-7/1 * * * /etc/init.d/nginx restart

#!/bin/sh

db_user=root

db_pass=****

db_name=***

db_bkpath="/usr/local/backup"

date=`date +%y%m%d%h%m`

hour_ago=`date +%y%m%d%h -d "-1 hour" `

cd $

mysqldump --opt -u$ -p$ $ > $/$_$.sql

rm -rf $/$_$*

要定時執行使用crontab -e來新增定時備份資料庫,目前為每6個小時備份一次,具體命令為:

* */6 * * * sh /usr/local/backup/mysql_backup.sh

Python 定時執行指令碼

import sys import os import datetime import time class argsdealwith def arg environment self,args filepath python path path for i in filepath filename...

linux定時執行指令碼

cron是乙個linux下的定時執行工具 cron是linux的內建服務,可以用以下的方法啟動 關閉這個服務 sbin service crond start 啟動服務 sbin service crond stop 關閉服務 sbin service crondrestart 重啟服務 sbin ...

Linux定時執行指令碼

在linux下的兩種定時執行任務的方法 at命令,以及crontab服務。1 at命令 假如我們只是想要讓特定任務執行一次,那麼,這時候就要用到at監控程式了。設定at命令很簡單,指示定執行的時間,那麼就會在哪個時候執行。at類似列印 程序,會把任務放到 var spool at目錄中,到指定時間執...