国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

linux服務器ubuntu定時任務cron設置每秒執(zhí)行

這篇具有很好參考價值的文章主要介紹了linux服務器ubuntu定時任務cron設置每秒執(zhí)行。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

前言

后端的同學經常會遇到在服務器做一些定時腳本處理,比如定時清理日志,定時請求某個接口做特殊的業(yè)務處理,大多數linux版本都會帶cron服務,以ubuntu服務器做個示例。


一、cron介紹

cron 是一個在 Unix-like 操作系統(tǒng)中用于定時執(zhí)行任務的工具。它是 “Chronos”(希臘語,意為時間)的縮寫。cron 允許用戶根據一定的時間間隔、日期或特定的時間點自動運行預定的任務,這些任務通常是腳本或命令。

以下是 cron 的基本概念和使用方法:

  1. Cron 表達式: 用戶通過編寫稱為 “Cron 表達式” 的字符串來指定任務的執(zhí)行時間。這個表達式包含了分鐘、小時、日期、月份和星期幾等信息,以及需要運行的命令或腳本。Cron 表達式的格式為:

    分鐘(0-59) 小時(0-23) 日期(1-31) 月份(1-12) 星期幾(0-6) 命令
    

    例如,0 2 * * * /usr/bin/my_script 表示在每天凌晨 2 點執(zhí)行 /usr/bin/my_script

  2. 用戶的 Crontab 文件: 每個用戶都可以有自己的 crontab 文件,用于定義該用戶的定時任務。通過 crontab 命令,用戶可以編輯、添加、刪除自己的定時任務。

    • crontab -e:編輯當前用戶的 crontab 文件。
    • crontab -l:列出當前用戶的 crontab 內容。
    • crontab -r:刪除當前用戶的 crontab 文件。
  3. 系統(tǒng)的 Crontab 文件: 除了每個用戶的 crontab 文件,系統(tǒng)還可以有一個全局的 crontab 文件,通常存儲在 /etc/crontab/etc/cron.d/ 中。這些任務是以 root 用戶的身份執(zhí)行的,因此可以用于執(zhí)行系統(tǒng)級別的任務。

  4. Anacron: 有時,由于系統(tǒng)關機或休眠等原因,定時任務可能錯過執(zhí)行時間。為了解決這個問題,anacron 工具被引入,允許在系統(tǒng)啟動時執(zhí)行錯過的任務。

  5. 日志: cron 會將執(zhí)行的任務的輸出信息發(fā)送到指定的用戶郵件,如果任務產生輸出的話。這可以通過在 crontab 文件中設置 MAILTO 變量來配置,也可以在命令行中使用 MAILTO=user@example.com

cron` 是一個強大的工具,使得在 Linux 系統(tǒng)上自動化任務變得簡單。它在系統(tǒng)管理、日常維護和數據處理等方面都有廣泛的應用。

二、添加定時任務進行測試

  1. 編寫腳本
# 在/opt目錄下創(chuàng)建一個test目錄做測試
cd /opt && mkdir test && cd test 
# 創(chuàng)建一個sh腳本,并且添加可執(zhí)行權限
touch test.sh && chmod +x ./test.sh
# 給腳本添加內容簡單輸出一個hello
vim test.sh
#下面這些都是加入到腳本里面的,如果對于bash腳本不熟悉的,先熟悉下bash腳本
#!/usr/bin/env bash
echo "hello"
# 調用test.sh 進行測試

linux服務器ubuntu定時任務cron設置每秒執(zhí)行,linux,服務器,ubuntu
2. 添加cron進行測試

# 執(zhí)行crontable -e 進入定時器編輯
crontable -e
# 添加定時任務,我這里添加一個每分鐘執(zhí)行一次,并輸出結果到test.log,方便看下是否添加成功
*/1 * * * * /opt/test/test.sh > /opt/test/test.log
# 執(zhí)行:wq保存退出
:wq

linux服務器ubuntu定時任務cron設置每秒執(zhí)行,linux,服務器,ubuntu
3. cron最小的到每分鐘執(zhí)行一次,可以通過bash腳本,添加一個循環(huán),實現每秒,或者幾秒進行對應的操作,我設置的每5秒執(zhí)行一次

#!/usr/bin/env bash
step=5 #間隔秒數
for ((i = 0; i < 60; i = (i + step))); do
    # 獲取當前時間
    current_time=$(date +"%Y-%m-%d %H:%M:%S")

    # 打印當前時間
    echo "當前時間是: $current_time"    
    sleep $step
done
exit 0

linux服務器ubuntu定時任務cron設置每秒執(zhí)行,linux,服務器,ubuntu
linux服務器ubuntu定時任務cron設置每秒執(zhí)行,linux,服務器,ubuntu

總結

使用 cron 時,有一些注意事項可以幫助你確保任務按預期執(zhí)行,并減少潛在的問題。以下是一些建議:

  1. 路徑問題: cron 執(zhí)行任務時可能不會設置與你的用戶 shell 環(huán)境相同的環(huán)境變量。因此,確保你的腳本中使用的所有命令和文件路徑都是絕對路徑,或者在腳本開頭設置合適的環(huán)境變量。

  2. 日志記錄:cron 任務中,問題可能不容易被察覺,因此要確保你的任務會記錄輸出。在腳本中使用 echo 或者將輸出重定向到文件,以便查看任務是否執(zhí)行成功,或者在出現問題時查找錯誤信息。

  3. 用戶權限: 如果 cron 任務依賴于某個用戶的特權,請確保任務以正確的用戶身份運行。你可以使用 sudo 或者在 crontab 文件中指定任務的用戶。

  4. 相對路徑: 當你使用相對路徑時,確保 cron 執(zhí)行任務的當前工作目錄是你所期望的。最好使用絕對路徑,以防止不同的工作目錄導致問題。

  5. 安全性: 避免在 crontab 文件中設置過于頻繁的任務,以免影響系統(tǒng)性能。此外,確保只有授權用戶可以編輯 crontab 文件,以防止未經授權的修改。

  6. 任務執(zhí)行時間: 考慮任務執(zhí)行的時間,確保它不會與系統(tǒng)重啟、備份或其他關鍵任務沖突。此外,注意任務的執(zhí)行頻率,確保不會產生不必要的負載。

  7. 環(huán)境變量: 如果你的任務依賴于特定的環(huán)境變量,最好在 crontab 文件中明確設置這些變量。這可以通過在 crontab 文件的頂部添加類似于 SHELL=/bin/bash 和其他環(huán)境變量的行來完成。

  8. 注意 crontab 語法: 使用正確的 crontab 語法是非常重要的。檢查你的 crontab 表達式確保它符合預期??梢允褂迷诰€的 crontab 表達式生成器來幫助創(chuàng)建正確的語法。

  9. 重啟 cron 服務: 如果你修改了 /etc/crontab 文件或者其他系統(tǒng)級別的 crontab 文件,可能需要重啟 cron 服務以使更改生效。

  10. 考慮郵件通知: 如果你希望在任務執(zhí)行時收到通知,可以通過在 crontab 文件中設置 MAILTO 變量來配置郵件通知。這樣,任何任務的輸出都會通過郵件發(fā)送給指定的用戶。

通過注意這些事項,你可以更好地管理和調試 cron 任務,確保它們按照預期執(zhí)行。文章來源地址http://www.zghlxwxcb.cn/news/detail-787139.html

到了這里,關于linux服務器ubuntu定時任務cron設置每秒執(zhí)行的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Linux cron定時任務常用方法

    項目 含義 范圍 第一個\\\"*\\\" 一小時當中的第幾分鐘(minute) 0~59 第二個\\\"*\\\" 一天當中的第幾小時(hour) 0~23 第三個\\\"*\\\" 一個月當中的第幾天(day) 1~31 第四個\\\"*\\\" 一年當中的第幾個月(month) 1~12 第五個\\\"*\\\" 一周當中的星期幾(week) 0~7(0和7都代表星期日) 特殊符號 含義 *(星號)

    2024年02月02日
    瀏覽(23)
  • Linux學習筆記-Ubuntu下使用Crontab設置定時任務

    Linux學習筆記-Ubuntu下使用Crontab設置定時任務

    白衣沽酒綺羅生 百代繁華一朝都,誰非過客;千秋明月吹角寒,花是主人。 crontab命令常見于Unix和類Unix的操作系統(tǒng)之中,用于設置周期性被執(zhí)行的指令。該命令從標準輸入設備讀取指令,并將其存放于“crontab”文件中,以供之后讀取和執(zhí)行。該詞來源于希臘語 chronos(χρνο

    2024年02月04日
    瀏覽(18)
  • 解決定時任務在多臺服務器上重復執(zhí)行的問題?

    解決定時任務在多臺服務器上重復執(zhí)行的問題?

    在我們使用定時任務部署在單臺服務器的時候,沒有問題 但是當我們使用多臺服務器執(zhí)行這個定時任務的時候,就會對數據產生影響 1、使用redis的過期機制和分布式鎖 首先添加依賴: 配置redis的信息: 在我們的具體實現業(yè)務上: 該方法比較推薦,簡單,對業(yè)務邏輯的改變

    2024年02月13日
    瀏覽(30)
  • 開源:Taurus.DTS 微服務分布式任務框架,支持即時任務、延時任務、Cron表達式定時任務和廣播任務

    開源:Taurus.DTS 微服務分布式任務框架,支持即時任務、延時任務、Cron表達式定時任務和廣播任務

    在發(fā)布完:開源:Taurus.DTC 微服務分布式事務框架,支持 .Net 和 .Net Core 雙系列版本,之后想想,好像除了事務外,感覺里面多了一個任務發(fā)布訂閱的基礎功能。 本想既然都有了基礎發(fā)布訂閱功能了,那要不要順帶加上延時發(fā)布功能呢?加上了會不會讓事務組件不純了? 經過

    2024年01月21日
    瀏覽(23)
  • 開源:Taurus.DTS 微服務分布式任務框架,支持即時任務、延時任務、Cron表達式定時任務和廣播任務。

    開源:Taurus.DTS 微服務分布式任務框架,支持即時任務、延時任務、Cron表達式定時任務和廣播任務。

    在發(fā)布完:開源:Taurus.DTC 微服務分布式事務框架,支持 .Net 和 .Net Core 雙系列版本,之后想想,好像除了事務外,感覺里面多了一個任務發(fā)布訂閱的基礎功能。 本想既然都有了基礎發(fā)布訂閱功能了,那要不要順帶加上延時發(fā)布功能呢?加上了會不會讓事務組件不純了? 經過

    2024年01月18日
    瀏覽(25)
  • 通過定時任務+sh腳本方式實現服務器日志文件異機備份

    等保要求服務器A日志(服務器、數據庫、后端、nginx、redis等)備份在另外一臺服務器B上 通過定時任務+sh腳本+scp命令,實現定時執(zhí)行腳本,將文件備份到另外一臺服務器上 step1、準備工作 服務器A ipA 服務器B ipB step2、腳本命令backup.sh 服務器A上,以nginx日志為例 step3、配對秘鑰

    2024年02月16日
    瀏覽(23)
  • 在linux上啟動、重啟、查詢、停止java服務腳本,并且設置定時任務自動執(zhí)行

    以下代碼來源于另一位博主,在實踐過程中需要設置定時任務,所以遇到一些問題,把沒有寫清楚的地方優(yōu)化了一下。 我們把上面的腳本復制到以下目錄的腳本文件/data/www/shtools/startmanage.sh,執(zhí)行命令可以得到不同的結果。 設置的三個定時任務運行腳本, 第一個是0 3 * * *

    2024年02月07日
    瀏覽(34)
  • linux定時刪除服務器日志

    linux定時刪除服務器日志

    不說廢話。直接進入操作流程 linux 定時任務是用的crontab 查看?crontab是否啟動 dead 死的 啟動crontab 再次查看狀態(tài) running? 運轉的 查看 crontab 查看 crontab任務 編輯 crontab任務 創(chuàng)建了一個任務? 0 1 * * *? sh /workspace/java/del_log/dele_log.sh 每天1點自動執(zhí)行 其中: 第一個號表示時間中的

    2024年02月09日
    瀏覽(25)
  • Linux服務器定時執(zhí)行腳本清理日志

    程序的日志不正確或者啟動腳本命令不正確,隨著程序的持續(xù)運行,日志文件越來越大,持續(xù)占用設備硬盤,如果定期手動清理日志又比較占用大腦CPU和內存,如果忘了就是事故,所以寫一個定時執(zhí)行的腳本去清理日志很有必要。 清理日志有兩種方式,一種是清空文件,主要

    2024年02月05日
    瀏覽(18)
  • ubuntu 代理服務器的設置

    準備: 具備公網IP服務器(Ubuntu 18.04.4 LTS,阿里云) 本地計算機(Ubuntu 20.04 LTS) 操作: 1.在服務器安裝程序tinyproxy. apt update apt install tinyproxy 2.在服務器打開配置文件 vim /etc/tinyproxy/tinyproxy.conf 3.在配置文件中查找以下參數,并進行更改 #定義監(jiān)聽端口,默認端口為8888,當然

    2024年02月07日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包