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

Linux通過(guò)Crontab實(shí)現(xiàn)自啟動(dòng)的全流程

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

前言

本文主要記錄通過(guò)crontab實(shí)現(xiàn)當(dāng)服務(wù)器宕機(jī)或服務(wù)意外停止時(shí)進(jìn)行自動(dòng)重啟

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

1.配置階段

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

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

1.2.特殊符號(hào)說(shuō)明

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

1.3.正則簡(jiǎn)介

1.3.1.基本元字符

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

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

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

1.3.3.位置錨點(diǎn)

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

1.3.4.分組與捕獲

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

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

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

1.3.6.常見(jiàn)用例

① 郵箱驗(yàn)證

^[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

④ 手機(jī)號(hào)(中國(guó)大陸)

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

1.3.7.正則表達(dá)式修飾符

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

1.4.正式配置

步驟一:

執(zhí)行 crontab -e命令

步驟二:
點(diǎn)擊字母“i” 輸入下方指令:

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

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

輸入后 點(diǎn)擊“esc” 點(diǎn)擊后點(diǎn)擊“ crtl + : ”, 輸入wq保存退出。

方案二:每天定時(shí)重啟(晚上10點(diǎn)):

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

配置完成保存后可通過(guò)crontab -l命令驗(yàn)證

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

時(shí)間匹配??

crond每分鐘遍歷所有任務(wù),對(duì)比當(dāng)前時(shí)間與任務(wù)的時(shí)間表達(dá)式

環(huán)境加載?

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

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

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

二、Crontab命令詳解

2.1.基本命令

命令說(shuō)明
crontab -e編輯當(dāng)前用戶(hù)的 cron 任務(wù)表(使用默認(rèn)編輯器,如 vim 或 nano)
crontab -l列出當(dāng)前用戶(hù)的所有 cron 任務(wù)
crontab -r刪除當(dāng)前用戶(hù)的所有 cron 任務(wù)(謹(jǐn)慎使用,無(wú)確認(rèn)?。?/td>
crontab -u <用戶(hù)名> -e編輯指定用戶(hù)的 cron 任務(wù)(需 root 權(quán)限)
crontab -u <用戶(hù)名> -l列出指定用戶(hù)的 cron 任務(wù)
crontab -u <用戶(hù)名> -r刪除指定用戶(hù)的所有 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ù)是否運(yùn)行:

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

2.3.Cron 時(shí)間格式

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

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

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

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

2.3.2.特殊符號(hào):

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

2.4.示例

1.每天凌晨 3 點(diǎn)執(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 號(hào)的凌晨 1 點(diǎn)重啟服務(wù)
0 1 1 * * systemctl restart nginx

2.5.注意事項(xiàng)

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

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

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

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

2.6.備份與恢復(fù)

2.6.1.備份

crontab -l > ~/cron_backup.txt

2.6.2.恢復(fù)

crontab ~/cron_backup.txt

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

相關(guān)文章

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

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

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

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

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

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

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

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

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

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

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

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

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

    Linux 硬鏈接和軟鏈接詳細(xì)介紹

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

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

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

    CentOS7配置httpd虛擬主機(jī)教程

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

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

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

最新評(píng)論

郴州市| 卢龙县| 和硕县| 那坡县| 平山县| 民和| 屯门区| 乐东| 公主岭市| 简阳市| 务川| 咸阳市| 景东| 益阳市| 西乡县| 武定县| 南平市| 公主岭市| 永昌县| 罗平县| 出国| 青州市| 辽阳市| 金平| 阿拉善左旗| 那曲县| 茂名市| 永嘉县| 城步| 温泉县| 宁蒗| 东宁县| 海林市| 黎城县| 九台市| 青海省| 娄烦县| 锡林浩特市| 商都县| 清水河县| 哈巴河县|