最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux通過Crontab實現(xiàn)自啟動的全流程

 更新時間:2025年09月18日 10:22:30   作者:白大鍋  
Linux crontab是用來crontab命令常見于Unix和類Unix的操作系統(tǒng)之中,用于設(shè)置周期性被執(zhí)行的指令,本文主要記錄通過crontab實現(xiàn)當服務(wù)器宕機或服務(wù)意外停止時進行自動重啟,需要的朋友可以參考下

前言

本文主要記錄通過crontab實現(xiàn)當服務(wù)器宕機或服務(wù)意外停止時進行自動重啟

一、Crontab實現(xiàn)重啟流程

1.配置階段

1.1.任務(wù)定義??

用戶通過crontab -e編輯任務(wù)文件,按分鐘 小時 日 月 周 命令格式編寫規(guī)則(如*/1 * * * * /opt/script.sh表示每1分鐘執(zhí)行一次腳本)

1.2.特殊符號說明

* :匹配所有值
,:多值分隔(如1,3,5表示1、3、5分鐘)
-:范圍(如0-6表示0到6點)
/:間隔(如*/10表示每10分鐘)

1.3.正則簡介

1.3.1.基本元字符

元字符說明示例
. 匹配任意單個字符(除換行符 \n)a.c → abc, a@c
\d匹配數(shù)字(等價于 [0-9])\d\d → 42
\D匹配非數(shù)字(等價于 [^0-9])\D+ → abc
\w匹配單詞字符(字母、數(shù)字、下劃線)\w+ → user_1
\W匹配非單詞字符(如 !, @)\W → !
\s匹配空白字符(空格、制表符 \t、換行符 \n 等)a\sb → a b
\S匹配非空白字符\S+ → Hello
[…]匹配括號內(nèi)的任意一個字符[aeiou] → a, e
[^…]匹配不在括號內(nèi)的任意字符[^0-9] → a, !

1.3.2.量詞(重復(fù)匹配)

量詞說明示例
*匹配前一個字符 0 次或多次a*b → b, aaab
+匹配前一個字符 1 次或多次a+b → ab, aaab
?匹配前一個字符 0 次或 1 次a?b → b, ab
{n}匹配前一個字符 恰好 n 次a{3} → aaa
{n,}匹配前一個字符 至少 n 次a{2,} → aa, aaa
{n,m}匹配前一個字符 n 到 m 次a{2,4} → aa, aaa

1.3.3.位置錨點

錨點說明示例
^匹配字符串的開始^Hello → Hello world 中的 Hello
$匹配字符串的結(jié)束world$ → Hello world 中的 world
\b匹配單詞邊界\bcat\b → cat(不匹配 category)
\B匹配非單詞邊界\Bcat\B → category 中的 cat

1.3.4.分組與捕獲

語法說明示例
(…)捕獲分組,提取匹配內(nèi)容(ab)+ → abab(捕獲 ab)
(?:…)非捕獲分組,僅分組不捕獲(?:ab)+ → abab(不捕獲)
|或邏輯,匹配左側(cè)或右側(cè)cat
\1, \2反向引用,引用捕獲的分組(\d)\1 → 11, 22

1.3.5.零寬斷言(高級匹配)

斷言說明示例
(?=…)正向先行斷言,匹配后面是 … 的位置\d+(?=px) → 2(在 2px 中)
(?!..)負向先行斷言,匹配后面不是 … 的位置\d+(?!px) → 3(在 3em 中)
(?<=…)正向后行斷言,匹配前面是 … 的位置(?<=$)\d+ → 100(在 $100 中)
(?<!..)負向后行斷言,匹配前面不是 … 的位置(?<!$)\d+ → 50(在 €50 中)

1.3.6.常見用例

① 郵箱驗證

^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
匹配:user@example.com
不匹配:user@.com

② URL 提取

https?://[^\s/$.?#].[^\s]*
匹配:https://example.com/path

③ 日期匹配(YYYY-MM-DD)

^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$
匹配:2023-12-31
不匹配:2023-13-40

④ 手機號(中國大陸)

^1[3-9]\d{9}$
匹配:13812345678

1.3.7.正則表達式修飾符

修飾符說明示例
i忽略大小寫/hello/i → Hello
g全局匹配(匹配所有結(jié)果)/a/g → a a a 中的 3 個 a
m多行模式(^ 和 $ 匹配每行的開頭/結(jié)尾)/^a/m → 匹配多行中的 a

1.4.正式配置

步驟一:

執(zhí)行 crontab -e命令

步驟二:
點擊字母“i” 輸入下方指令:

方案一:監(jiān)聽端口 每隔X時間去判斷是否啟動狀態(tài):

*/1 * * * * source /etc/profile && ss -ntpl |grep 8080 |grep -v grep || sh /啟動腳本完整路徑/啟動腳本.sh 后面跟啟動腳本的完整啟動命令

輸入后 點擊“esc” 點擊后點擊“ crtl + : ”, 輸入wq保存退出。

方案二:每天定時重啟(晚上10點):

0 22 * * * source /etc/profile && cd /啟動腳本完整路徑 && sh /啟動腳本完整路徑/腳本.sh restart 后面跟啟動腳本的完整啟動命令

配置完成保存后可通過crontab -l命令驗證

1.5.任務(wù)執(zhí)行流程??

時間匹配??

crond每分鐘遍歷所有任務(wù),對比當前時間與任務(wù)的時間表達式

環(huán)境加載?

執(zhí)行時繼承系統(tǒng)環(huán)境變量(如PATH),建議腳本內(nèi)顯式加載/etc/profile或~/.bash_profile

任務(wù)執(zhí)行

執(zhí)行對應(yīng)監(jiān)聽任務(wù)

二、Crontab命令詳解

2.1.基本命令

命令說明
crontab -e編輯當前用戶的 cron 任務(wù)表(使用默認編輯器,如 vim 或 nano)
crontab -l列出當前用戶的所有 cron 任務(wù)
crontab -r刪除當前用戶的所有 cron 任務(wù)(謹慎使用,無確認?。?/td>
crontab -u <用戶名> -e編輯指定用戶的 cron 任務(wù)(需 root 權(quán)限)
crontab -u <用戶名> -l列出指定用戶的 cron 任務(wù)
crontab -u <用戶名> -r刪除指定用戶的所有 cron 任務(wù)

2.2.查看 cron 日志(調(diào)試)

2.2.1.系統(tǒng)日志(檢查 cron 是否執(zhí)行):

grep CRON /var/log/syslog      # Ubuntu/Debian
grep CRON /var/log/cron        # CentOS/RHEL

2.2.2.如果任務(wù)未執(zhí)行,檢查服務(wù)是否運行:

systemctl status cron          # Ubuntu/Debian
systemctl status crond         # CentOS/RHEL

2.3.Cron 時間格式

編輯 crontab -e 時,每行任務(wù)格式如下:

* * * * * <要執(zhí)行的命令>

2.3.1.五個時間字段的含義(從左到右):

分鐘(0-59)
小時(0-23)
日期(1-31)
月份(1-12)
星期(0-7,0 和 7 均代表周日)

2.3.2.特殊符號:

*:任意值(每分鐘/每小時等)
,:分隔多個時間(如 1,15 * * * * 表示每小時的 1 分和 15 分)
-:范圍(如 10-20 * * * * 表示每小時的 10 到 20 分)
*/n:每隔 n 單位(如 */5 * * * * 表示每 5 分鐘)

2.4.示例

1.每天凌晨 3 點執(zhí)行腳本
0 3 * * * /path/to/script.sh
2.每 5 分鐘執(zhí)行一次
*/5 * * * * /path/to/command
3.每周一和周五的下午 5:30 發(fā)送郵件
30 17 * * 1,5 /usr/bin/sendmail -t < /tmp/email.txt
4.每月 1 號的凌晨 1 點重啟服務(wù)
0 1 1 * * systemctl restart nginx

2.5.注意事項

1.環(huán)境變量問題:cron 默認使用最小環(huán)境變量,建議在腳本中使用絕對路徑或提前設(shè)置 PATH。

2.輸出處理:cron 任務(wù)的輸出會以郵件發(fā)送給用戶,如需忽略輸出:

* * * * * /path/to/command >/dev/null 2>&1

3.權(quán)限限制:普通用戶只能編輯自己的 cron 任務(wù),root 可管理其他用戶的任務(wù)。

2.6.備份與恢復(fù)

2.6.1.備份

crontab -l > ~/cron_backup.txt

2.6.2.恢復(fù)

crontab ~/cron_backup.txt

以上就是Linux通過Crontab實現(xiàn)自啟動的全流程的詳細內(nèi)容,更多關(guān)于Linux Crontab自啟動的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 在Ubuntu 24.04(Noble)上配置阿里源的操作步驟

    在Ubuntu 24.04(Noble)上配置阿里源的操作步驟

    在使用 Ubuntu 系統(tǒng)時,選擇一個快速且穩(wěn)定的軟件源(Repository)對于系統(tǒng)更新和軟件安裝至關(guān)重要,阿里云提供的 Ubuntu 鏡像源在國內(nèi)用戶中非常受歡迎,本文將介紹如何在 Ubuntu 24.04 (Noble) 上配置阿里源,需要的朋友可以參考下
    2025-07-07
  • ubuntu+php環(huán)境下的Memcached 安裝方法

    ubuntu+php環(huán)境下的Memcached 安裝方法

    Memcached是一套分散式的高速緩存系統(tǒng),當初是Danga Interactive為了LiveJournal所發(fā)展
    2011-11-11
  • Xshell5連接虛擬機中的Linux的方法以及失敗原因解決

    Xshell5連接虛擬機中的Linux的方法以及失敗原因解決

    這篇文章主要介紹了Xshell5連接虛擬機中的Linux的方法以及失敗原因解決,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Linux環(huán)境實現(xiàn)替換jar包中class文件

    Linux環(huán)境實現(xiàn)替換jar包中class文件

    文章介紹了如何通過替換class文件來避免重復(fù)打包的問題,具體步驟包括查找目標文件目錄、解壓目標文件、替換已解壓文件、替換jar包文件等
    2025-11-11
  • Linux用戶管理與常見權(quán)限命令

    Linux用戶管理與常見權(quán)限命令

    在Linux系統(tǒng)中,用戶和組是管理權(quán)限和資源訪問的基本單元,用戶可以屬于一個或多個組,組用于集中管理一組用戶的權(quán)限,文件權(quán)限決定了用戶或組對文件的訪問級別,每個文件或目錄都有三個權(quán)限集,分別適用于文件所有者(User)、所屬組(Group)和其他用戶(Others)
    2024-08-08
  • linux分析服務(wù)器內(nèi)存常用命令與查找文件工作路徑方式

    linux分析服務(wù)器內(nèi)存常用命令與查找文件工作路徑方式

    文章介紹了如何使用`auditd`服務(wù)查看內(nèi)存使用情況,并通過`ps`命令按內(nèi)存使用排行,此外,還說明了通過進程的工作目錄(cwd)來定位文件位置,從而確定服務(wù)的具體位置
    2025-10-10
  • Linux 硬鏈接和軟鏈接詳細介紹

    Linux 硬鏈接和軟鏈接詳細介紹

    這篇文章主要介紹了Linux 硬鏈接和軟鏈接詳細介紹的相關(guān)資料,需要的朋友可以參考下
    2016-11-11
  • ubuntu 設(shè)置靜態(tài)IP的實現(xiàn)方法

    ubuntu 設(shè)置靜態(tài)IP的實現(xiàn)方法

    這篇文章主要介紹了ubuntu 靜態(tài)IP的設(shè)定實現(xiàn)方法的相關(guān)資料,需要的朋友可以參考下
    2016-10-10
  • CentOS7配置httpd虛擬主機教程

    CentOS7配置httpd虛擬主機教程

    這篇文章主要為大家詳細介紹了CentOS7配置httpd虛擬主機教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Linux下gdb調(diào)試打印棧幀中的變量過程

    Linux下gdb調(diào)試打印棧幀中的變量過程

    這篇文章主要介紹了Linux下gdb調(diào)試打印棧幀中的變量過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09

最新評論

安宁市| 万山特区| 驻马店市| 河间市| 九江县| 儋州市| 新津县| 大英县| 固原市| 安康市| 凭祥市| 丰城市| 张家港市| 黄浦区| 龙江县| 吉首市| 灵宝市| 老河口市| 柳林县| 昌都县| 林口县| 玛沁县| 静宁县| 即墨市| 亳州市| 哈巴河县| 娄烦县| 吉首市| 分宜县| 城固县| 凤城市| 栾川县| 绵阳市| 昭苏县| 鄂托克前旗| 会泽县| 长白| 五原县| 惠安县| 内黄县| 蒲江县|