[쉘 스크립트] 파일 소유자 변경

김민성·2023년 2월 21일
0

쉘 스크립트

목록 보기
1/2

<배경상황>

여러 서버들이 있고, NAS(Network Attached Storage)를 통해서 데이터를 공유함.

특정 서버에서 이상한 소유자(uid가 상이함)로 파일을 입력함.

해당 서버 uid를 수정하기에는 어려움이 있어서, 한 서버에 root 권한으로 파일의 소유자를 수정하려함.

해당 파일은 매 분마다 생성되어, crontab에 등록하는 스크립트를 작성함.

<스크립트>

#!/bin/sh
#해당 쉘은 a서버에서 ROOT 권한으로 실행됨
#* * * * * /home/msgrok/owner_changer.sh

#대상 : /home/msgrok/TEST/YYYYMM/DD 폴더 내의 msg_rok_YYYYMMDDHHmm.txt 파일
#역할 : 소유자를 msgrok로 변경하는 스크립트

#YYYYMM 읽어오기 (YYYY : 연도, MM : 월)
YEAR_MONTH=$(date "+%Y%m")
#DD 읽어오기 (MM : 일자)
DAY=$(date "+%d")

#안전을 위해 find 옵션을 부여 (파일타입, 파일명, 2분전 생성된 파일만 대상)
#파이프와 xargs로 넘겨서 msgrok:msgrok 권한으로 수정
find /home/msgrok/TEST/$YEAR_MONTH/$DAY/ -type f -name "msg_rok_*.txt" -mmin -2 | xargs -i chown msgrok:msgrok {}
profile
맛소금토일

0개의 댓글