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

Linux使用crontab實現(xiàn)定時拆分日志與清理過期文件

 更新時間:2024年04月09日 08:46:15   作者:南國以南i  
crontab是一個用于管理定時任務(wù)的工具,可以讓在特定的時間間隔內(nèi)自動運行腳本或命令,本文將使用crontab實現(xiàn)定時拆分日志與清理過期文件,需要的可以參考下

簡介

在Linux中可以使用crontab來定時執(zhí)行腳本。crontab是一個用于管理定時任務(wù)的工具,可以讓在特定的時間間隔內(nèi)自動運行腳本或命令。

需求: 在Linux中每分鐘寫入一條信息到指定文件中,使用cron來定期執(zhí)行一個寫入命令或腳本

在Linux中,定時執(zhí)行腳本具有多種作用和用途,包括但不限于以下幾個方面:

自動化任務(wù):定時執(zhí)行腳本可用于自動化重復(fù)性的任務(wù)。例如,定時備份數(shù)據(jù)、定時清理臨時文件、定時運行系統(tǒng)維護任務(wù)等。通過將這些任務(wù)腳本定期執(zhí)行,可以減輕管理員的工作負(fù)擔(dān),并確保任務(wù)按計劃執(zhí)行,提高系統(tǒng)的可靠性和穩(wěn)定性。

監(jiān)控和報告:定時執(zhí)行腳本可用于監(jiān)控系統(tǒng)狀態(tài)、資源使用情況和日志文件,并生成相應(yīng)的報告。例如,定時檢查服務(wù)器的CPU使用率、磁盤空間占用情況、網(wǎng)絡(luò)連接狀態(tài)等,并將報告發(fā)送給管理員或其他相關(guān)人員。這樣可以幫助及時發(fā)現(xiàn)問題并采取適當(dāng)?shù)拇胧?/p>

數(shù)據(jù)處理和分析:定時執(zhí)行腳本可用于處理和分析數(shù)據(jù)。例如,定期從外部數(shù)據(jù)源獲取數(shù)據(jù),并將其導(dǎo)入到數(shù)據(jù)庫中進行進一步處理和分析。這對于數(shù)據(jù)采集、數(shù)據(jù)清洗、數(shù)據(jù)轉(zhuǎn)換和數(shù)據(jù)分析等任務(wù)非常有用。

定時提醒和通知:定時執(zhí)行腳本可用于生成提醒和通知。例如,定時發(fā)送電子郵件或短信提醒,以及生成日程安排或事件提醒。這對于個人、團隊或組織來管理任務(wù)、安排會議或發(fā)送重要通知非常有幫助。

自定義批處理任務(wù):定時執(zhí)行腳本可用于運行自定義的批處理任務(wù)。根據(jù)特定的需求和工作流程,你可以編寫腳本來執(zhí)行一系列操作,如文件處理、數(shù)據(jù)轉(zhuǎn)換、編譯構(gòu)建等。通過定時運行這些腳本,可以簡化復(fù)雜的工作流程并提高工作效率。

總之,定時執(zhí)行腳本在Linux系統(tǒng)中具有廣泛的應(yīng)用。通過利用定時任務(wù),可以實現(xiàn)自動化、監(jiān)控、報告、數(shù)據(jù)處理等各種任務(wù),從而提高系統(tǒng)的可靠性、效率和管理效果

一、準(zhǔn)備工作

1.1 創(chuàng)建寫入腳本

注意:首先,在home目錄下創(chuàng)建一個名為testscript.sh的腳本文件,并添加以下內(nèi)容:

 #!/bin/bash
echo "This is a log message $(date)" > /home/out.log

在這個示例中,腳本會將一條帶有當(dāng)前日期和時間的日志消息附加到指定的日志文件中。確保將/home/out.log替換為實際的日志文件路徑。

保存并關(guān)閉文件。

1.2 設(shè)置執(zhí)行權(quán)限

注意:在執(zhí)行腳本之前,確保為其設(shè)置執(zhí)行權(quán)限。在終端中運行以下命令:

chmod 755 /home/testscript.sh

1.3 添加定時任務(wù)

crontab表的每一行代表一個定時任務(wù),定時任務(wù)語法格式如下:

* * * * * command
 
第一個*表示分鐘數(shù)(0-59)
第二個*表示小時數(shù)(0-23)
第三個*表示一個月中的第幾天(1-31)
第四個*表示月份(1-12)
第五個*表示一周中的第幾天(0-7,0和7都表示星期日)
command是要執(zhí)行的命令或腳本

例如,要在每天的凌晨12點執(zhí)行腳本,添加以下行到cron表中:

我們可以在 Crontab的命令中添加重定向符號 ">>" 將輸出重定向到指定的文件中。例如:

crontab -l # 查看當(dāng)前是否存在任務(wù)
crontab -e # 編輯 指定執(zhí)行哪個腳本以及執(zhí)行時間

# 每日凌晨執(zhí)行腳本
0 0 * * * /home/testscript.sh >> /home/testscript.log 2>&1     

1.4 配置生效

service crond reload    //重新載入配置  前提是crond已經(jīng)啟動

二、Tomcat日志 按每天分割

2.1 創(chuàng)建一個 sh文件

創(chuàng)建腳本

#創(chuàng)建腳本
vim auto-deal-log.sh

腳本內(nèi)容:

#! /bin/bash
echo "date is `date +%Y-%m-%d,%H:%M:%S`"
echo "tomcat-sca日志分割"
sca_log_path=/home/admin/sca/tomcat-sca/logs
cp $sca_log_path/catalina.out $sca_log_path/catalina.`date +%Y-%m-%d`.log

# 清空tomcat默認(rèn)日志輸出文件
echo "" > $sca_log_path/catalina.out

echo "nginx日志分割"
nginx_log_path=/home/admin/mid/nginx/logs
cp $nginx_log_path/access.log $nginx_log_path/access.`date +%Y-%m-%d`.log
cp $nginx_log_path/error.log $nginx_log_path/error.`date +%Y-%m-%d`.log
echo "" > $nginx_log_path/access.log
echo "" > $nginx_log_path/error.log


# 查找并清理不需要的文件
echo "清理tomcat*,保留30天"
find /home/admin/sca/tomcat*/logs/ -mtime +30 -name "*" -exec rm -rf {} \;
echo "清理batch日志,保留30天"
find /home/admin/sca/log/batch/ -mtime +30 -name "*" -exec rm -rf {} \;
echo "清理xxl-job日志,保留7天"
find /home/admin/sca/log/xxl-job/ -mtime +7 -name "*" -exec rm -rf {} \;
echo "清理auto-split-deal-log日志,保留7天"
find /home/admin/sca/log/auto-split-deal-log/ -mtime +7 -name "*" -exec rm -rf {} \;
echo "清理視頻文件,保留5天"
find /home/admin/sca/ccrecord/ -mtime +5 -name "*.wev" -exec rm -rf {} \;
echo "日志分割及清理完畢"

2.2 設(shè)置執(zhí)行權(quán)限

chmod +x auto-deal-log.sh

2.3 設(shè)置crontab指令,指定每日定時任務(wù)

# 每日凌晨執(zhí)行分割日志腳本
0 0 * * * /opt/sh/auto-deal-log.sh  >> /path/to/auto-deal-log.log 2>&1   

2.4 配置生效

service crond reload    //重新載入配置  前提是crond已經(jīng)啟動

到此這篇關(guān)于Linux使用crontab實現(xiàn)定時拆分日志與清理過期文件的文章就介紹到這了,更多相關(guān)Linux crontab命令內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Ubuntu Apache配置以及cgi配置方法

    Ubuntu Apache配置以及cgi配置方法

    這篇文章主要介紹了Ubuntu Apache配置以及cgi配置方法,需要的朋友可以參考下
    2015-10-10
  • linux把一個文件的內(nèi)容復(fù)制到另一個文件的末尾

    linux把一個文件的內(nèi)容復(fù)制到另一個文件的末尾

    這篇文章主要介紹了linux把一個文件的內(nèi)容復(fù)制到另一個文件的末尾,文中給大家提到了linux 把文件末尾輸出到另一個文件的方法,需要的朋友可以參考下
    2019-08-08
  • Linux下進程的CPU配置與線程綁定過程

    Linux下進程的CPU配置與線程綁定過程

    本文介紹Linux系統(tǒng)中基于進程和線程的CPU配置方法,通過taskset命令和pthread庫調(diào)整親和力,將進程/線程綁定到特定CPU核心以優(yōu)化資源分配,提升系統(tǒng)性能與實時任務(wù)響應(yīng)效率,同時強調(diào)操作驗證及注意事項
    2025-07-07
  • 本地與linux互傳文件的方式詳解

    本地與linux互傳文件的方式詳解

    實現(xiàn)本地與Linux服務(wù)器文件互傳的常用方式:scp命令、sftp命令、lrzsz程序,xftp軟件,下面就跟隨小編一起來學(xué)習(xí)一下如何具體操作的吧
    2023-08-08
  • 在Ubuntu中使用NTP實現(xiàn)時間同步

    在Ubuntu中使用NTP實現(xiàn)時間同步

    這篇文章主要介紹了在Ubuntu中使用NTP實現(xiàn)時間同步,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-09-09
  • linux下安裝boost庫的完整步驟記錄

    linux下安裝boost庫的完整步驟記錄

    Boost庫是一個經(jīng)過千錘百煉、可移植、提供源代碼的C++庫,,作為標(biāo)準(zhǔn)庫的后備,是C++標(biāo)準(zhǔn)化進程的發(fā)動機之一,下面這篇文章主要給大家介紹了關(guān)于如何在linux下安裝boost庫的完整步驟,需要的朋友可以參考下
    2018-11-11
  • OneinStack一鍵安裝PHP/JAVA/HHVM和超詳細(xì)的VPS手動安裝LNMP的方法

    OneinStack一鍵安裝PHP/JAVA/HHVM和超詳細(xì)的VPS手動安裝LNMP的方法

    OneinStack一鍵工具提供多個Tomcat版本(Tomcat-8,Tomcat-7) 和多個JDK版本(JDK-1.8,JDK-1.7,JDK-1.6),支持CentOS 6、7下HHVM安裝。如果還有為無法成功配置好Java或者HHVM環(huán)境而煩惱的話,OneinStack就可以助你一臂之力
    2017-07-07
  • CentOS7更換YUM源為國內(nèi)源的操作步驟

    CentOS7更換YUM源為國內(nèi)源的操作步驟

    由于CentOS7默認(rèn)的yum源是國外的,導(dǎo)致我們使用yum下載軟件的下載速度不是很理想,這時候我們就需要將yum源更換成國內(nèi)的源,所以 本文指導(dǎo)CentOS7更換國內(nèi)YUM源(阿里云、清華等)以提升下載速度,需要的朋友可以參考下
    2025-05-05
  • Linux系統(tǒng)安裝并配置jdk1.8全過程

    Linux系統(tǒng)安裝并配置jdk1.8全過程

    總結(jié):文章介紹了如何在服務(wù)器上安裝和配置JDK的步驟,包括上傳JDK、解壓、設(shè)置權(quán)限、配置環(huán)境變量以及驗證安裝
    2025-11-11
  • Linux中查看端口占用的方法對比:netstat、ss、lsof誰更好用?

    Linux中查看端口占用的方法對比:netstat、ss、lsof誰更好用?

    本文介紹了Linux中查看端口占用的三種常用工具的使用,其中ss、netstat和lsof,ss是推薦首選工具,命令簡潔高效,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下
    2026-06-06

最新評論

都匀市| 遂川县| 和静县| 五台县| 华阴市| 望江县| 姚安县| 卢湾区| 莆田市| 旬邑县| 三河市| 莱阳市| 巴青县| 资中县| 来凤县| 微山县| 仪征市| 郑州市| 余干县| 玉溪市| 隆德县| 东莞市| 柘荣县| 南昌市| 浙江省| 万宁市| 资溪县| 漠河县| 辽阳县| 易门县| 黑龙江省| 象山县| 天祝| 尉犁县| 龙山县| 台南市| 平潭县| 尉犁县| 宜都市| 丁青县| 扶余县|