計劃任務cron

来源:https://www.cnblogs.com/thelovelybugfly/archive/2019/12/20/12072343.html
-Advertisement-
Play Games

cron 計劃任務 作用: 計劃任務主要是做一些周期性的任務,目前最主要的用途是定期備份數據Schedule one-time tasks with at. 一次性調度執行 atSchedule recurring jobs with cron. 迴圈調度執行 cronSchedule recurr ...


 cron 計劃任務

作用: 計劃任務主要是做一些周期性的任務,目前最主要的用途是定期備份數據

Schedule one-time tasks with at. 一次性調度執行 at
Schedule recurring jobs with cron. 迴圈調度執行 cron
Schedule recurring system jobs.
所有計劃任務執行中的輸出都會以郵件的方式發送給指定用戶, 除非重定向

一次性調度執行 at [瞭解]


語法格式:
at <TIMESPEC>
now +5min
teatime tomorrow (teatime is 16:00)
noon +4 days
5pm august 3 2018

例1:
[root@CentOS7 ~]# at now +1min
at> useradd uuuu
at> <EOT>
job 1 at Sat Mar 21 22:34:00 2015
[root@yang ~]# atq
3 Thu Mar 30 09:55:00 2017 a root
[root@CentOS7 ~]# id uuuu

例2:
[root@yang ~]# vim at.jobs
useradd u99
useradd u00
touch /`date +%F`.txt
[root@yang ~]# at now +1min < at.jobs

註: sudo執行需要考慮tty問題

迴圈調度執行 cron


[root@CentOS7 ~]# systemctl status crond.service
[root@CentOS7 ~]# ps aux |grep crond
root 550 0.0 0.0 126300 1648 ? Ss 10:05 0:00 /usr/sbin/crond -n
crond進程每分鐘會處理一次計劃任務


=====================用戶級=====================
存儲位置:
[root@CentOS7 ~]# ls /var/spool/cron/

管理方式:
crontab -l List the jobs for the current user.
crontab -r Remove all jobs for the current users.
crontab -e Edit jobs for the current user.
管理員可以使用 -u username, 去管理其他用戶的計劃任務

禁止其他用戶使用計劃任務
/etc/cron.deny:
alice
jack
[alice@yang ~]$ crontab -e
You (alice) are not allowed to use this program (crontab)
See crontab(1) for more information

語法格式 Job format:
Minutes Hours Day-of-Month Month Day-of-Week Command

# Example of job definition:
# .---------------- 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
# | | | | |
# * * * * * command

0 2 * * * /mysql_back.sh
0 2 14 * * /mysql_back.sh
0 2 14 2 * /mysql_back.sh
0 2 * * 5 /mysql_back.sh
0 2 * 6 5 /mysql_back.sh
0 2 2 * 5 /mysql_back.sh
0 2 2 6 5 /mysql_back.sh

*/5 * * * * /mysql_back.sh
0 2 1,4,6 * * /mysql_back.sh
0 2 5-9 * * /mysql_back.sh

* * * * * /mysql_back.sh
0 * * * * /mysql_back.sh
* * 2 * * /mysql_back.sh

示例:
00 02 * * * ls //每天2:00整
00 02 1 * * ls //每月1號2:00整
00 02 14 2 * ls //每年2月14號2:00整
00 02 * * 7 ls //每周日2:00整
00 02 * 6 5 ls //每年6月的周五2:00整
00 02 14 * 7 ls //每月14號2:00整 或者 每周日2:00整,這兩個時間都執行
00 02 14 2 7 ls //每年2月14號2:00整 或者 每周日2:00整,這兩個時間都執行

00 02 * * * ls //每天2:00整
* 02 * * * ls //每天2:00中的每一分鐘
* * * * * ls //每分鐘執行ls
* * 14 2 * ls //2月14號的每分鐘 1440分鐘

*/5 * * * * ls //每隔5分鐘
00 02 1,5,8 * * ls //每月1,5,8號的2:00整
00 02 1-8 * * ls //每月1到8號的2:00整

=====================系統級=====================
臨時文件的清理 /tmp /var/tmp
系統信息的採集 sar
日誌的輪轉(切割)logrotate
通常不是由用戶定義

定義位置一:
[root@CentOS7 ~]# vim /etc/crontab //該文件中預設沒有定義任何計劃任務
* * * * * user-name command to be executed

定義位置二:/etc/cron.d/*
[root@CentOS7 ~]# ls /etc/cron.d
0hourly raid-check sysstat

[root@CentOS7 ~]# cat /etc/cron.d/0hourly //該文件中定義的計劃任務每小時會執行
01 * * * * root run-parts /etc/cron.hourly //每小時01分以root用戶執行/etc/cron.hourly目錄下所有腳本

crond: 僅僅會執行每小時定義的腳本 /etc/cron.hourly


每小時具體執行哪些腳本:
[root@CentOS7 ~]# ls /etc/cron.hourly/
0anacron 0yum-hourly.cron

[root@CentOS7 ~]# cat /etc/cron.hourly/0anacron
/usr/sbin/anacron -s

[root@CentOS7 ~]# vim /etc/anacrontab //該文件是anacron執行調用的文件
#period in days delay in minutes job-identifier command
1 5 cron.daily nice run-parts /etc/cron.daily
7 25 cron.weekly nice run-parts /etc/cron.weekly
@monthly 45 cron.monthly nice run-parts /etc/cron.monthly

[root@yang ~]# ls /etc/cron.daily/
0yum-daily.cron logrotate man-db.cron mlocate
[root@yang ~]# ls /etc/cron.weekly/
[root@yang ~]# ls /etc/cron.monthly/

[root@CentOS7 ~]# ls /var/spool/anacron/
cron.daily cron.monthly cron.weekly
[root@CentOS7 ~]# cat /var/spool/anacron/cron.monthly
20170321

=====================cron log=====================
[root@CentOS7 ~]# tail /var/log/cron
Mar 29 20:01:01 CentOS7 run-parts(/etc/cron.hourly)[22456]: finished 0anacron
Mar 29 20:01:01 CentOS7 run-parts(/etc/cron.hourly)[22447]: starting 0yum-hourly.cron
Mar 29 20:01:01 CentOS7 run-parts(/etc/cron.hourly)[22462]: finished 0yum-hourly.cron
Mar 29 20:10:01 CentOS7 CROND[22563]: (root) CMD (/usr/lib64/sa/sa1 1 1)
Mar 29 20:20:01 CentOS7 CROND[22688]: (root) CMD (/usr/lib64/sa/sa1 1 1)
Mar 30 09:05:31 yang crond[1399]: (CRON) INFO (Syslog will be used instead of sendmail.)
Mar 30 09:05:31 yang crond[1399]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 15% if used.)
Mar 30 09:05:31 yang crond[1399]: (CRON) INFO (running with inotify support)
Mar 30 09:10:01 yang CROND[1924]: (root) CMD (/usr/lib64/sa/sa1 1 1)
Mar 30 09:20:01 yang CROND[2109]: (root) CMD (/usr/lib64/sa/sa1 1 1)



您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 場景 Winform控制項-DevExpress18下載安裝註冊以及在VS中使用: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100061243 在上面搭建好DevExpress的環境後,要使用其GridControl控制項。 註 ...
  • .NET Core 是微軟提供的免費、跨平臺和開源的開發框架,可以構建桌面應用程式、移動端應用程式、網路應用程式、物聯網應用程式和游戲應用程式等。如果你是 Windows 平臺下的 dotnet 開發人員的話,使用 .NET core 可以很輕鬆就設置好任何 Linux 和類 Unix 操作系統下的 ...
  • 簡介 Bash所支持的算術運算和C語言是一樣的,這裡指的是操作符(operator)以及它們的優先順序(precedence)、結合性(associativity)和值,詳見Shell Arithmetic (Bash Reference Manual)。 註意:如果乘號“*”在某些場景中失效,有可能 ...
  • (智慧職教刷課軟體-職教雨滴)支持職教雲(雲課堂)的課程2019年10月17日 16:19:57 增加支持資料庫,MOOC點擊鏈接加入群聊【職教雨滴反饋群】:https://jq.qq.com/?_wv=1027&k=5BL2WO3填入你的卡號登錄即可 登錄你的網課賬號即可,支持職教雲(雲課堂)、資 ...
  • 相關研究指出,如果以嵌入式MRAM取代微控制器中的eFlash和SRAM,可節省高達90%的功耗;如果採用單一晶體管MRAM取代六個晶體管SRAM,則可實現更高的位元密度和更小的晶元尺寸,這些功率與面積成本優勢將使MRAM成為邊緣側設備的有力競爭者。而相較於傳統的NAND快閃記憶體,PCRAM或ReRAM ...
  • 如何讓shell腳本每天定時執行? 1.新建需要定時執行的shell腳本,這裡為date.sh腳本。 #!/bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH ech ...
  • 對於一個剛創建的虛擬機,上不了網該如何解決呢? 首先檢查自己的網卡配置是否有誤 cd /etc/sysconfig/network-scripts/網卡名 (1)DHCP獲取ip的話把ONBOOT設為yes BOOTPROTO=dhcp ONBOOT=yes (2)static手動獲取就要仔細檢查了 ...
  • Linux 伺服器 CentOS 7.3、Root 許可權 安裝 Nginx ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...