디렉토리내의 json 파일 중 "system_user"와 find me라는 단어가 포함된 파일들을 찾아서 이동시키는 스크립트

#!/bin/bash

RESULT=(`find ./ -name "*.json" | xargs grep -l "\"system_user\"" | xargs grep -l "find me"`)
backup_dir="/var/log/backup"
for elem in "${RESULT[@]}"
do
	mv $elem "${backup_dir}"
done

 

 

'언어 > Sell Script' 카테고리의 다른 글

rsync, expect 를 활용한 data 백업  (0) 2022.12.09
Shell Script  (0) 2021.08.31
Shell ?  (0) 2021.08.26
#! /bin/bash

echo ===========================START============================
echo start time: `date`
USER="guest"
PW="pass" #보안확인 필요
IP="10.100.3.10"
echo "backup server IP: " $IP
conditionFile="/var/log/dataBackup_*.log"
ls $conditionFile
if [[ ! "$?" -eq 0 ]]; then
	echo "conditionFile not exists"
    echo end time: `date`
    exit 0
fi

echo "wating for 5 sec..."
sleep 5

expect << EOL

set time -1
spawn rsync -ahvz --include=*.log* --exclude=* /var/log/ ${USER}@${IP}:/var/log/
# /var/log/ 하위에 .log 포맷만 대상으로 처리
expect "password:"
send "${PW}\n"
expect "]#"

set time -1
spawn rsync -ahvz --exclude=exclusive_dir /var/log/file_data/ ${USER}@${IP}:/var/log/file_data/
# /var/log/file_data/ 하위에 exclusive_dir이라는 디렉토리는 제외하고 대상 처리
expect "password:"
send "${PW}\n"
expect "]#"

EOL

backup_dirs=(
"/var/log/backup" 
"/var/log/file_data_backup"
)

for elem in "${backup_dirs[@]}"
do
	if [ ! -d #elem ]; then
    	mkdir $elem
        echo mkdir $elem
    fi
done

mv /var/log/*.log "${backup_dirs[0]}"
sleep 1
mv /var/log/file_data/* "${backup_dirs[1]}"

echo end_time: `date`
echo ===========================END============================

백업 서버로 로그파일을 백업하는 스크립트 

+ Recent posts