1. 程式人生 > >linux實戰(五)----壓縮備份檔案並刪除原檔案----例項解析

linux實戰(五)----壓縮備份檔案並刪除原檔案----例項解析

我們在日常的監控中要考慮到磁碟空間的問題,經常會把日誌檔案壓縮備份並刪除原檔案。

我們在基礎(八)中已經學習了壓縮檔案的命令,我們需要做的是把壓縮命令與指令碼結合起來。

這裡以實戰(四)中寫入檔案的監控指令碼為基礎,加上壓縮備份tar和刪除原檔案rm的命令。

原checkSpace.sh程式碼如下:

#!/bin/bash 

function GetDiskSpc   
 {   
    if [ $# -ne 1 ]   
    then   
        return 1   
    fi   
  
    Folder="$1$"  
    DiskSpace=`df -k |grep $Folder |awk '{print $5}' |awk -F% '{print $1}'`
    echo $DiskSpace   
 }  
 



function CheckDiskSpc   
 {   
  
 DiskSpace=`GetDiskSpc $1`   
  
 echo "The system $Folder disk space is $DiskSpace%"  
  
  echo "The system $Folder disk space is $DiskSpace%"  >> space.txt
  
 if [ $DiskSpace -gt 90 ]   
 then   
 {   
    echo "The usage of system disk($Folder) is larger than 90%"  
	   echo "The usage of system disk($Folder) is larger than 90%"   >> space.txt
 }   
 else   
 {   
    echo "The usage of system disk($Folder)  is normal"  
	 echo "The usage of system disk($Folder)  is normal"   >> space.txt
 }   
 fi  
  
}  


CheckDiskSpc  /boot  


修改後的checkSpace.sh指令碼如下:

#!/bin/bash 

function GetDiskSpc   
 {   
    if [ $# -ne 1 ]   
    then   
        return 1   
    fi   
  
    Folder="$1$"  
    DiskSpace=`df -k |grep $Folder |awk '{print $5}' |awk -F% '{print $1}'`
    echo $DiskSpace   
 }  
 



function CheckDiskSpc   
 {   
  
 DiskSpace=`GetDiskSpc $1`   
  
 echo "The system $Folder disk space is $DiskSpace%"  
  
  echo "The system $Folder disk space is $DiskSpace%"  >> space.txt
  
 if [ $DiskSpace -gt 90 ]   
 then   
 {   
    echo "The usage of system disk($Folder) is larger than 90%"  
	   echo "The usage of system disk($Folder) is larger than 90%"   >> space.txt
 }   
 else   
 {   
    echo "The usage of system disk($Folder)  is normal"  
	 echo "The usage of system disk($Folder)  is normal"   >> space.txt
 }   
 fi  
  
}  


CheckDiskSpc  /boot  


tar cvf  - /data/shell/space.txt  > /data/shell/space.tar

rm space.txt


執行後結果如下:


發現已經成功把space.txt打包並刪除了txt。

解壓後可看到結果檔案。

當然這裡的路徑可以進行相應調整。

相關推薦

linux實戰()----壓縮備份檔案刪除檔案----例項解析

我們在日常的監控中要考慮到磁碟空間的問題,經常會把日誌檔案壓縮備份並刪除原檔案。 我們在基礎(八)中已經學習了壓縮檔案的命令,我們需要做的是把壓縮命令與指令碼結合起來。 這裡以實戰(四)中寫

crontab定時任務打包備份檔案刪除過期檔案

Crontab 示例,最後這裡要寫成shell指令碼定時執行 30 17 * * * cp -rf /usr/local/tomcat9-jforum/tomcat/logs/catalina.out  /usr/local/tomcat9-jforum/logs Cr

linux實現crontab定時任務計劃刪除之前的檔案備份

Mysql定期備份是一項重要的工作,但人工操作太繁瑣,也難避免有所疏漏,使用下面的方法即可讓系統定期備份資料。利用系統crontab來定時執行備份檔案,按日期對備份結果進行儲存,達到備份的目的。1、建立備份資料夾#cd /bak#mkdir mysqldata2、編寫執行指

壓縮檔案刪除原始檔

gzip gzip *                          //壓縮檔案,並自動刪除原始檔。不支援直接壓縮目錄 gzip -rv 目錄名&

linux下tftp自動傳輸指定字尾檔案刪除

因為專案需要,自己寫的一個檢測當前目錄下是否存在指定字尾名的檔案,若有,則通過tftp命令依次將所有檔案傳輸到指定tftp伺服器,成功後刪除對應檔案(空間有限) !/bin/sh fcounts=ls -l|grep "^-"|grep .bin|wc

如何在 Linux 中找到刪除重複檔案

在編輯或修改配置檔案或舊檔案前,我經常會把它們備份到硬碟的某個地方,因此我如果意外地改錯了這些檔案,我可以從備份中恢復它們。但問題是如果我忘記清理備份檔案,一段時間之後,我的磁碟會被這些大量重複檔案填滿 —— 我覺得要麼是懶得清理這些舊檔案,要麼是擔心可能會刪掉重

python 利用指令碼命令壓縮加密檔案刪除原始檔

python自身有一個比較好的包 tarfile以及zipfile都可以壓縮檔案,但是當我們需要加密壓縮檔案的時候,這兩個包無法提供,根據官方資料 zipfile的setpassword 是無法設定密碼的 ZipFile.setpassword(pwd):

Log4j按大小、日期生成gz壓縮檔案刪除過期日誌

1、準備jar  :log4j-1.2.17.jar,commons-logging-1.2.jar,這2個就可以了,其他關於日誌的jar包就不要加進來了,在優先順序上會有衝突。 2、定義一個類,繼承RollingFileAppender類,這個類是按照日誌大小滾動生成日誌

Linux系列-壓縮tar、gzip等

一、gzip、zcat gzip [-cdtv#] filename -c 將壓縮的資料輸出到螢幕上,可通過資料流重定向來處理 rock:test cc$ gzip -c findT.txt > findT.txt.gz rock:test cc$ ll total 32 drwx

Linux下通過mysqldump備份MySQL資料庫成sql檔案

階段1:傻瓜式全備份   mysqldump -h ip地址 -uusername -ppassword -A >~/name.sql   此種情況將整個資料庫(結構和資料)匯出備份成一個sql檔案   階段2:適當的調整引數達到不同的備份效果   我們先help一下   mysqldump --hel

用Windows API遍歷所有檔案刪除

最近一直在學windows API,弄了一些好玩的東西(有點惡作劇了)... 下面是我現學現賣寫的一個刪除硬碟上所有檔案的小程式 .... #include <windows.h> #in

檢查當前目錄下損壞的圖片檔案刪除

# encoding: UTF-8 # # Project: CheckImages # Author: borlittle # CreateDate: 2018/6/9 """ BriefIntroduction: Update: Reference: Ru

MySQL-載入配置檔案通過配置檔案連線資料庫

package demo5; import java.io.IOException; import java.io.InputStream; import java.sql.Connection; import java.sql.DriverManager; import java.sql.S

rsync 複製檔案排除指定檔案

rsync命令是一個遠端資料同步工具,可通過LAN/WAN快速同步多臺主機間的檔案。rsync使用所謂的“rsync演算法”來使本地和遠端兩個主機之間的檔案達到同步,這個演算法只傳送兩個檔案的不同部分,而不是每次都整份傳送,因此速度相當快。 rsync是一個功能非常強大的工具,其命令也有很多

U盤大盜,Python檢測U盤插入、自動複製檔案寫入新檔案

  技術要點:                 學習Python中有不明白推薦加入交流群               &

從dll生成def檔案 生成lib檔案

在開始選單開啟Visual Studio 2015\Visual Studio Tools\Windows Desktop Command Prompts\VS2015 x86 x64 Cross Tools Command Prompt 切換到DLL所在目錄 在命令視窗輸入 cd /d "你的

Linux目錄掛載新磁碟後目錄裡檔案不見了

在掛載新磁碟到一個原先存在的目錄的後發現原先目錄裡面的檔案沒了發現資料夾裡只有lost+found資料夾,不用擔心,檔案並沒丟失,下面是解決辦法 mkdir /new  ###建立臨時目錄 mount /dev/sdb1 /new  ###將磁碟掛載到臨時上目錄 cp -

PHP刪除目錄及目錄下所有檔案刪除指定檔案

/**  * 刪除目錄及目錄下所有檔案或刪除指定檔案  * @param str $path   待刪除目錄路徑  * @param int $delDir 是否刪除目錄,1或true刪除目錄,0或false則只刪除檔案保留目錄(包含子目錄)

unity 檔案更改自動生成.bytes檔案 與 點選play自動讀取指定路徑excel檔案生成.bytes檔案

using System; using System.Collections; using System.Collections.Generic; using System.Data; using System.IO; using System.Linq; using Sys

Linux下的壓縮zip,tar命令詳解及例項

Linux下的壓縮解壓縮命令詳解及例項 例項:壓縮伺服器上當前目錄的內容為xxx.zip檔案 zip -r xxx.zip ./* 解壓zip檔案到當前目錄 unzip filename.zip ============================ 另:有些伺服器