var/log 디렉토리를 체크인하는 스크립트를 작성하고 거기에있는 모든 디렉토리를 가져 와서 해당 디렉토리에 아카이브 디렉토리가 있는지 확인합니다. 보관 디렉토리가 존재하지 않는다면 생성하고 싶지만 스크립트가 생성되면 스크립트는 다시 생성하려고 시도합니다.디렉토리가 존재하지 않는지 확인하십시오.
vdir=$(sudo sh -c "find /var/log/ -maxdepth 1 -type d ! -name "archive"")
for i in $vdir ;do
echo $i
if [[ ! -d $i/$arc ]];then
sudo sh -c "mkdir $i/$arc"
echo "$date:$HN:Creating:$i/$arc:directory" >> logrotation.log
fi
done
위의 코드를 실행하면이 오류가 표시됩니다. 스크립트가 조건을 검사하지 않는 것 같습니다.
mkdir: cannot create directory ‘/var/log/speech-dispatcher/archive’: File exists
'$의 arc'는 무엇을 포함 하는가? – Inian
아카이브 디렉토리를 생성하는 데 필요한 varibale은 다음과 같습니다. arc = archive – SLS
첫 번째'sudo sh -c "찾기에서 큰 따옴표를 중첩 할 수 없습니다 ..." – tripleee