自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux下,如何自動對日志進行壓縮備份?

系統(tǒng) Linux
當今天系統(tǒng)再次報警磁盤不足時,決定徹底解決該問題。解決的方案也很簡單,基于Linux寫一個簡單的腳本,對日志進行定時壓縮備份。

?背景

系統(tǒng)中安裝了前置機服務,該服務由銀行提供。前置機日志打印的非常詳細,同時并未進行壓縮處理。這導致的直接后果就是,每天會有5G左右的日志產生。過不了多久就需要手動壓縮備份一次。

當今天系統(tǒng)再次報警磁盤不足時,決定徹底解決該問題。解決的方案也很簡單,基于Linux寫一個簡單的腳本,對日志進行定時壓縮備份。大家如果在實踐中遇到類似的問題,可以直接基于下面的腳本進行修改、豐富使用。

具體操作

執(zhí)行腳本編寫

首先,創(chuàng)建一個執(zhí)行日志壓縮、備份和刪除的腳本,命名backup.sh,并賦予可執(zhí)行權限,腳本內容如下:

#!/bin/bash

cd /log/
echo '開始壓縮...'
tar -czvf /log/bak/trade.log.`date -d yesterday +%F`.tar.gz trade.log.`date -d yesterday +%F`
echo '壓縮完畢...,執(zhí)行刪除'
rm -rf trade.log.`date -d yesterday +%F`
echo '刪除完畢.'

在上述腳本中,先通過cd?命令進入目標目錄,在執(zhí)行命令中會通過echo打印一些日志信息,這個主要用于進行調試。

執(zhí)行tar -czvf命令,進行日志的壓縮。命令后面第一個參數(shù)為壓縮之后的文件的名稱及存儲路徑,這里放到bak目錄下,第二個參數(shù)為待壓縮的日志。

我們重點來介紹一下文件名稱中date -d yesterday +%F?的含義。在Linux中,date +"%F"能輸出系統(tǒng)的當前日期:

$ date +"%F"
2022-08-09

命令中,date命令是輸入日期,后面部分用于格式化。

但這都是打印出系統(tǒng)的當前時間,如果要獲取相對當前時間的某個時間,需要通過-d參數(shù)來實現(xiàn)。

$ date -d yesterday +%F
2022-08-08

這里就獲得了前一天的日期了。當然,也可以輸出后一天的時間,比如:

$ date -d"yesterday" +"%F %H:%M:%S"
2022-08-08 21:36:15

在理解了如何獲取系統(tǒng)日期之后,上面的腳本就比較好理解了。

先通過執(zhí)行tar -czvf?命令,進行日志的壓縮,壓縮文件直接存放在bak目錄,壓縮完畢之后,通過rm -rf命令對日志進行刪除。

在完成上述編輯之后,可以直接執(zhí)行該腳本,驗證一下是否正確,然后就可以通過定時任務來進行配置了。

定時任務執(zhí)行

在完成了腳本的編寫并賦予可執(zhí)行權限之后,就需要基于crontab來進行定時任務的配置。

執(zhí)行crontab -e打開定時任務文件編輯界面,輸入如下信息:

30 2 * * * /log/backup.sh

上面的指令是在說:每天2點30分執(zhí)行/log/backup.sh腳本。編輯完成,保持退出。那么在每天凌晨2點30分,便會進行腳本的執(zhí)行。

這里再拓展一下,上述crontab中對應的表達式含義如下:

minute   hour   day   month   week   command     順序:分     命令

根據(jù)需要,你可以調整定時任務的執(zhí)行時間點或周期。

關于crontab這里再補充一下它的常見指令,方便大家使用:

crontab -e // 編輯
crontab -l // 查看

service crond status

service crond start// 啟動服務

service crond stop// 關閉服務

service crond restart// 重啟服務

service crond reload // 重新載入配置

cd /var/spool/mail/用戶文件 查看執(zhí)行情況

小結

至此,關于Linux下自動日志壓縮備份腳本已經完成。雖然非常簡單,但卻可以極大地釋放人力資源,再也不用手動清理了。當然,在實踐中,場景不同使用的腳本可能更會更復雜,但基本原理是一致的,大家可根據(jù)具體情況來豐富腳本的功能。

責任編輯:趙寧寧 來源: 程序新視界
相關推薦

2010-04-19 13:15:00

Oracle數(shù)據(jù)庫

2021-09-22 09:55:20

LinuxMySQL數(shù)據(jù)庫

2018-06-07 09:22:16

LinuxMysql備份

2009-06-24 10:44:08

2009-09-29 10:52:34

Linux自動備份操作系統(tǒng)

2019-07-25 18:57:36

Linux數(shù)據(jù)庫自動備份

2019-03-14 15:19:34

數(shù)據(jù)中心日志

2011-09-15 17:01:25

ubuntu備份

2013-05-24 13:24:46

Mysql數(shù)據(jù)庫自動備份

2017-02-27 19:57:02

Linux備份壓縮命令

2009-02-16 19:47:03

LinuxBIOS備份

2012-09-28 13:39:40

Windows備份

2010-05-26 15:07:36

SVN版本庫自動備份

2010-04-19 12:35:36

Oracle數(shù)據(jù)庫

2011-09-09 18:16:18

WindowsLinux

2019-10-21 08:56:36

Linux日志文件拆分

2010-01-26 11:06:50

C++開發(fā)

2023-09-21 09:31:24

MySQL數(shù)據(jù)庫

2010-01-04 09:27:31

Linux壓縮解壓縮命令詳解

2009-12-15 14:08:14

Linux系統(tǒng)備份ta
點贊
收藏

51CTO技術棧公眾號