首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Shell 判斷目錄存在並打包:以日期時間命名 tarball

     編輯:程式設計綜合問答

腳本


#!/bin/bash
DIR="/data/text"
if [ -d "$DIR" ]; then
    timestamp=$(date +%Y%m%d%H%M%S)
    tar -czf "${timestamp}.tar.gz" "$DIR"
    echo "已打包:${timestamp}.tar.gz"
else
    echo "目錄不存在:$DIR"
fi

關鍵點

  • -d 測試目錄存在。
  • date +%Y%m%d%H%M%S 產生如 20240115143005 的時間戳。
  • tar -czf:c建立、zgzip壓縮、f指定檔名。
  • 變數用雙引號包裹防止空白字元拆分。

進階:保留最近 N 份備份


cd /backup
ls -t *.tar.gz | tail -n +8 | xargs -r rm -f  # 只保留最新 7 份
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved