✨ 주요 목적: - 라즈베리파이 3B+에서 브라더 프린터 CUPS 설정 - wget으로 브라더 프린터 드라이버(gz) 쉽게 다운로드 - 프린터 설정 자동화 스크립트 및 문서 제공 📦 포함 파일: - linux-brprinter-installer-2.2.6-0.gz: 브라더 프린터 드라이버 - 각종 설정 문서 (COM 포트, Samba 마운트, 동기화 등) - Gitea 저장소 가이드 🔧 기술 스택: - Raspberry Pi OS - CUPS (Common Unix Printing System) - Brother printer driver 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
2.4 KiB
1) 필요 패키지
sudo apt update sudo apt install -y inotify-tools rsync
2) 수신 폴더/마운트 경로 확인(없으면 생성)
sudo mkdir -p /var/spool/hylafax/recvq sudo mkdir -p /mnt/fax
3) 실시간 이동 스크립트 생성
cat | sudo tee /usr/local/bin/move-fax.sh >/dev/null <<'EOF' #!/bin/bash set -euo pipefail
SRC="/var/spool/hylafax/recvq" DST="/mnt/fax" LOG="/var/log/fax-move.log"
echo "[FAX-MOVE] started (SRC=${SRC}, DST=${DST})" | tee -a "$LOG"
NAS 마운트 대기(최대 60초)
for i in {1..60}; do if mountpoint -q "$DST"; then echo "[FAX-MOVE] mount OK: $DST" | tee -a "$LOG" break fi if [ "$i" -eq 60 ]; then echo "[FAX-MOVE] mount not ready after 60s, continuing and will keep trying..." | tee -a "$LOG" fi sleep 1 done
inotify: 새 파일이 완전히 닫히거나(moved_to/close_write) 도착하면 처리
TIFF/TIF/PDF 우선 감시(확장자 제한 없이 동작 가능, 여기서는 전체 감시 후 파일만 필터)
inotifywait -m -e close_write -e moved_to --format '%w%f' "$SRC" | while read -r FILE; do
파일만 처리
[ -f "$FILE" ] || continue
BASENAME="$(basename "$FILE")" TARGET="${DST}/${BASENAME}"
마운트 점검(중간에 끊겼을 수도 있음)
if ! mountpoint -q "$DST"; then echo "[FAX-MOVE] WARN: NAS not mounted, skip: $BASENAME" | tee -a "$LOG" continue fi
복사 후 소스 제거(성공시에만)
if rsync -a --partial --inplace "$FILE" "$TARGET"; then sync rm -f -- "$FILE" echo "[FAX-MOVE] moved: $BASENAME -> $DST" | tee -a "$LOG" else echo "[FAX-MOVE] ERROR: rsync failed for $BASENAME" | tee -a "$LOG" fi done EOF
sudo chmod +x /usr/local/bin/move-fax.sh
4) systemd 서비스 유닛 생성
cat | sudo tee /etc/systemd/system/fax-move.service >/dev/null <<'EOF' [Unit] Description=Move received faxes to NAS (real-time) After=network-online.target mnt-fax.mount Wants=network-online.target Requires=mnt-fax.mount ConditionPathIsDirectory=/var/spool/hylafax/recvq ConditionPathIsMountPoint=/mnt/fax
[Service] Type=simple ExecStart=/usr/local/bin/move-fax.sh Restart=always RestartSec=2 User=pi
NAS 일시 끊김 대비로 환경변수 여유(선택)
Environment=RSYNC_RSH=ssh
[Install] WantedBy=multi-user.target EOF
5) 적용 및 시작
sudo systemctl daemon-reload sudo systemctl enable --now fax-move.service
6) 동작 확인(로그 tail)
sudo journalctl -u fax-move.service -n 50 -f