안녕하세요!
NextCloud 이슈 두 번째 이야기입니다.
초기에 사용자 할당량 이슈를 해결하고도 이메일 서버 설정이 한 달에 1~2회 바뀌는 알 수 없는 버그가 있었는데요,
이메일 서버 설정에 "보낸 사람 주소" 도메인이 디폴트로 바뀌어서 파일 공유가 안됐던 문제가 있었습니다.
아래 스크린샷을 참조해서 예를 들면, "보낸 사람 주소" : no-reply @ naver.com으로 설정돼야 하는데 @ default.local으로 바뀌는 버그였습니다.
제가 해결 했던 방법은 정상적인 config 파일을 따로 백업해 두고, 기존 경로에 설정파일이 변경이 되면 백업을 시키고, 정상적인 config 파일로 덮어씌우는 스크립트를 적용했습니다.
[백업 스크립트 내용]
#!/bin/bash
config_file=/usr/share/nextcloud/config/config.php
backup_dir=/usr/share/nextcloud/config/backup/
backup_file=/usr/share/nextcloud/config/backup/config.back_230405
if [ ! -d "$backup_dir" ]; then
mkdir "$backup_dir"
fi
while inotifywait -e modify $config_file; do
backup_time=$(date +"%Y-%m-%d-%H-%M-%S")
backup_file="$backup_dir/config-$backup_time.php"
cp -p "$config_file" "$backup_file"
done
[복구 스크립트 내용]
#!/bin/bash
backup_file=/usr/share/nextcloud/config/backup/config.bak_230405
config_file=/usr/share/nextcloud/config/config.php
while inotifywait -e modify $config_file; do
cp -f $backup_file $config_file
done
해당 스크립트 파일은 서버의 백그라운드로 계속 활성화 되어야 하기에 아래 명령어를 작성해 주시고요
/usr/share/nextcloud/config/backup/script.backup &
/usr/share/nextcloud/config/backup/script.restore &
서버가 재부팅되면 백그라운드 설정이 초기화되기 때문에 부팅돼도 설정을 적용할 수 있도록 rc.local에 추가해 줍니다.
그리고, 아시죠? 부팅 시 rc.local 파일을 읽을 수 있도록 서비스도 실행해 줍니다.
- 서비스 확인 systemctl status rc-local
- 서비스 구동 systemctl start rc-local
이렇게 자동화 설정으로 제가 수동으로 관리할 일이 없습니다.
설명이 조금 불친절해서 죄송합니다. 이해가 어려운 부분은 댓글 남겨주시면 성심 성의껏 도와드리겠습니다.
감사합니다.

'IT 인프라' 카테고리의 다른 글
NextCloud 디스크 할당량 이슈 (2) | 2023.10.26 |
---|---|
IT 인프라(Information Technology Infrastructure) (0) | 2023.10.25 |