六 Linux(centos)計畫任務

2021-10-25 10:19:39 字數 2387 閱讀 9621

在linux作業系統中, 除了使用者即時執行的命令操作以外,我們有時還需要配置在指定的時間、指定的日期執行預先計畫好的系統管理任務(如定期備份、定期採集監測資料)。

rhel6系統中預設已安裝了at、crontab軟體包,通過atb和crond(程序名)這兩個系統服務實現一次性、週期性計畫任務的功能,並分別通過at、arontab命令進行計畫任務設定。

作用:計畫任務主要是做一些週期性的任務,目前主要是用於做定期備份資料

語法格式

at 《時間規格》

now +5min

teatime tomorrow (teatime is 16:00)

例如:

[root@xifeng ~]# at now +1min  # 一分鐘後執行

at> mkdir users

at> #ctrl + d

job 11 at mon nov 16 16:24:00 2020

[root@xifeng ~]# ls

users

[root@xifeng ~]#  yum -y install crontabs  #如果軟體不存在安裝

[root@xifeng ~]# systemctl status crond.service #檢視服務狀態

crond程序每分鐘會處理一次計畫任務

[root@xifeng ~]# ps -ef | grep crond

root 860 1 0 11:01 ? 00:00:00 /usr/sbin/crond -n

root 96291 1298 0 16:29 pts/0 00:00:00 grep --color=auto crond

儲存位置:

[root@xifeng ~]# cd /var/spool/cron/
管理方式:

crontab -llist the jobs for the current user. //列出當前使用者的計畫任務

crontab -rremove all jobs for the current users. //刪除當前使用者所有的計畫任務

crontab -eedit jobs for the current user. //編輯當前使用者的計畫任務

管理員可以使用 -u username, 去管理其他使用者的計畫任務

語法格式:

*		*		*	*	 *		command

分鐘 小時 日 月 周 要執行的命令,最好是絕對路徑

每天6:00執行ini

0 6 * * * /home/soso.sh

每天8:40執行

40 8 * * * /home/soso.sh

每週六凌晨4:00執行

0 4 * * 6 /home/soso.sh

每週六凌晨4:05執行

5 4 * * 6 /home/soso.sh

每週六凌晨5:00執行

0 5 * * 6 /home/soso.sh

[root@xifeng ~]# crontab -l #列出計畫任務

[root@xifeng ~]# crontab -u jack -e #使用jack使用者建立

由於日誌每天的累積量會很大,如果不進行分割的話會造成單個日誌太大,開啟以及檢視都很不方便。

日誌輪轉可以丟棄系統中最舊的日誌檔案,以節省空間。

logrotate本身不是系統守護程序,它是通過計畫任務crond每天執行

vim /etc/logrotate.conf #日誌輪轉的配置檔案

weekly     			#輪轉的週期,一周輪轉,單位有年,月,日 

rotate 4 #保留4份

create #輪轉後建立新檔案

dateext #使用日期作為字尾

#compress #日誌輪替時,舊的日誌進行壓縮

include /etc/logrotate.d #包含該目錄下的配置檔案,會引用該目錄下面配置的檔案

/var/log/wtmp

/var/log/btmp

[root@xifeng ~]# /usr/sbin/logrotate /etc/logrotate.conf #手動輪轉

[root@xifeng ~]# ls /var/log/yum*

/var/log/yum.log /var/log/yum.log-20191110

windows計畫任務和linux計畫任務

有時候需要定時執行任務,如果寫乙個死迴圈在那裡等待,算是乙個方案,但總是覺得有那麼一點不好,既然作業系統為我們提供了計畫任務,為什麼不用呢?如果不用別人的東西,基本上會有三個原因 一 不知道有那個東西。二 覺得那個東西不易用。三 沒有自己的方案好。關於計畫任務完全可以排除以上三點原因,所以還是應該用...

Linux CentOS 伺服器搭建 《六》

二話不說先登入 mysql u root p檢視下神奇的mysql系統變數及其值 show variables like character 記住分號哦,愛打字的人 步驟開始了 1.找到mysql配置檔案,拷貝到etc的my.cnf並且覆蓋哦。usr share doc mysql server 5...

Linux CentOS 伺服器搭建 《六》

二話不說先登入 mysql u root p檢視下神奇的mysql系統變數及其值 show variables like character 記住分號哦,愛打字的人 步驟開始了 1.找到mysql配置檔案,拷貝到etc的my.cnf並且覆蓋哦。usr share doc mysql server 5...