忍者ブログ

◆当blogは、Linuxサーバ構築する際の実際の設定手順を個人的メモとして記載しております。LinuC試験の役に立つ情報があるかも…?

LinuC(Linux技術者認定資格)&リナックスサーバ構築設定事例

   

【Linux】cron用スクリプト

#!/bin/bash
###=============================
###【作業メモ】
### スクリプトの作成場所:/usr/local/bin/
### 実行コマンド:/usr/local/bin/SCRIPT_cron_backup.sh
### 対象ファイルのバックアップ
### 保存世代数は7個/保存対象外の世代は削除
### 毎日0時0分に実行
### crontab -e
### 0 0 * * * /usr/local/bin/SCRIPT_cron_backup.sh 2>&1 >/dev/null
###=============================
#-----------------------------
# 環境変数の設定
PATH=/usr/local/sbin:/usr/bin:/bin
#-----------------------------
#-----------------------------
# 日付取得
#-----------------------------
DATE_YYYYMMDD=`/bin/date --date '1 day ago' "+%Y%m%d"`
#-----------------------------
# バックアップ名
#-----------------------------
FILE_Name=BACKUP
#-----------------------------
# バックアップ名+日付
#-----------------------------
BACKUP_FILE_NAME=${FILE_Name}-${DATE_YYYYMMDD}
#-----------------------------
# ログファイルの場所
#-----------------------------
FILE_log=/usr/local/bin/script.log
#-----------------------------
# 対象ディレクトリ名
#-----------------------------
DIR_Target=/work/
#-----------------------------
# 保存場所のディレクトリ名
#-----------------------------
DIR_Output0=/backup/
DIR_Output1=/backup/${FILE_Name}
DIR_Output2=/backup/${BACKUP_FILE_NAME}
#-----------------------------
echo "=== バックアップ === 開始 ===" > $FILE_log 2>&1
#-----------------------------
#-----------------------------
# 毎日作成ディレクトリ(既に存在する場合はスキップ)
#-----------------------------
mkdir -p -m 777 ${DIR_Output1} >> ${FILE_log} 2>&1
mkdir -p -m 777 ${DIR_Output2} >> ${FILE_log} 2>&1
#-----------------------------
# 正規表現のパターンに該当するファイルだけをコピーする
#-----------------------------
\find ${DIR_Targe -name} "*_data*" | xargs -i cp -fp {} ${DIR_Output1} >> ${FILE_log} 2>&1
\find ${DIR_Targe -name} "*_data*" | xargs -i cp -fp {} ${DIR_Output2} >> ${FILE_log} 2>&1
#-----------------------------
# 古いバックアップを削除
#-----------------------------
cd ${DIR_Output0}
rm -fr `ls -t | grep "特定文字列1" | tail -n+8` >> ${FILE_log} 2>&1
rm -fr `ls -t | grep "特定文字列2" | tail -n+8` >> ${FILE_log} 2>&1
rm -fr `ls -t | grep "特定文字列3" | tail -n+8` >> ${FILE_log} 2>&1
#-----------------------------
echo "=== バックアップ === 終了 ===" >> ${FILE_log} 2>&1
#-----------------------------
PR

更新日付

03 2025/04 05
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30

RECOMMEND

プロフィール

HN:
Account
HP:
性別:
非公開
職業:
--- NODATA ---
趣味:
--- NODATA ---
自己紹介:
◆当blogは、Linuxサーバ構築する際の実際の設定手順を個人的メモとして記載しております。LinuC試験の役に立つ情報があるかも…?

リンク

<<【Linux】anonymous FTP設定  | HOME |  【Linux】bonding設定②>>
Copyright ©  -- LinuC(Linux技術者認定資格)&リナックスサーバ構築設定事例 --  All Rights Reserved
Design by CriCri / Photo by Melonenmann / powered by NINJA TOOLS / 忍者ブログ / [PR]