본문 바로가기
IT 인프라

NextCloud 이메일 서버 설정 초기화 이슈

by 미생코딩 2023. 10. 27.

안녕하세요!

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