지훈현서

Sources

Posts

345 posts

SSH 와 tar 를 통하여 원격 폴더 백업 및 복구

지훈현서|2022년 5월 3일

SSH로 접속 가능한 원격 서버에 백업할 폴더가 있다고 가정합니다.그런데 이 폴더가 커서 원격에 따로 백업할 수 없다고 하면 문제가 될 수 있습니다.이런 경우를 포함하여 다음과 같이 백업을 하면 SSH 스트림으로 백업되는 내용이전달되므로 쉽게 백업할 수 있습니다. 1) 백업 로컬 머신 입장:ssh {[사용자@]원격호스트} tar czf - {백업할폴더} > backup.tgz 원격 머신 입장:tar zcvf - {백업할폴더} | ssh {[사용자@]원격호스트} "cat > backup.tgz" 2) 복구 로컬 머신 입장:cat backup.tgz | ssh {[사용자@]원격호스트} "tar zxvf -" 참조: How To Use tar Command Through Network

Docker 서비스 중인 MariaDB/MySQL, MongoDB의 백업 및 복구

지훈현서|2022년 5월 3일

Docker compose 로 서비스를 잘 하고 있었다면,또 보통 RDB나 MongoDB와 같은 NoSQL을 사용하고 있었다면,해당 DB의 내용을 백업 및 복구해야할 경우가 많습니다. 이런 경우를 위해 준비를 해 보았습니다. 1) MariaDB/MySQL 백업 Docker Host에서 다음과 같은 명령을 이용합니다. docker exec {컨테이너이름_또는_ID} mysqldump -u {DB사용자} -p{암호} {DB명} > dump_$(date '+%d-%m-%Y_%H-%M-%S').sql 그러면 현재 폴더에 dump_03-05-2022_09-38-52.sql 과 같은 식으로 현재 시각이 붙어 백업됩니다. 2) MariaDB/MySQL 복구 Docker Host에서 다음과 같은

[리눅스, Mac] fswatch 로 .ssh/config 파일 모니터링하여 ssh 포트포워딩 지속하기

지훈현서|2022년 4월 26일

지난번 원격 Linux에 VSCode 로 접속하여 작업하는 것을 살펴본 적이 있습니다.이곳에서 ~/.ssh/config 에서 원격 VM 서버에 포트포워딩을 통하여 어디에서든 작업이 가능하게해 보았는데, 문제는 이 config 파일이 종종 변경되고는 하는데 해당 내용이 변경될 때마다 알아서 해당 서버로 SSH 연결을 할 수 있는가 하는 주제로 고민을 해 보았습니다. 우선 Mac 이나 리눅스에서 특정 파일(또는 폴더)이 변경되었는가를 체크하는 것으로 Python의 watchdog 및 watchmedo 쉘 명령을 살펴보았으나 변경시 이벤트가 자동으로 두 번씩 떠서 다른 것을 알아보았습니다. 역시나 모든 것을 다 알수는 없으나 이런 좋은 유틸을 왜 이제서야 알았나 싶었습니다. 우분투 데비안에서는 fswatch

윈도우 10에 OpenSSH 서버 설치하여 VSCode 로 접속하여 개발하기

지훈현서|2022년 4월 26일

지난 번에 맥에서 VSCode로 원격 리눅스에 접속해서 사용하는 것을 보았는데, 이번에는 윈도우의 경우도 가능한 것을보여드리겠습니다. 우선 윈도우에 SSH 서버를 설치하는 방법입니다. 요즘에는 윈도우에서는 파워쉘 명령을 통해서 많은 작업을 리눅스와 유사하게 할 수 있게 되었습니다. 관리자 모드로 파워쉘을 열어 아래의 명령들을 이용하면 됩니다. 다음과 같이,Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'설치가능한 것을 확인해 보면, Name : OpenSSH.Client~~~~0.0.1.0State : NotPresent Name : OpenSSH.Server~~~~0.0.1.0State : NotPresent 와 같이 결

[라즈베리파이] docker-compose 로 서비스 운영해보기

지훈현서|2022년 4월 7일

라즈베리파이가 최근에는 재고가 없어 난리 입니다.전 세계적으로 펜데믹에 이어 CPU 등이 품귀인가 봅니다.시간이 지나면서 풀리기 바랍니다. 이번에는 그동안 라즈베리파이는 무시하고 돌리지 않았던docker 와 docker-compose를 설치하고 서비스를 돌려보는 것을 해 봅니다. 우선 docker 설치 방법입니다. sudo apt-get update && sudo apt-get upgradecurl -sSL | sh 위의 두 줄로 간단히 설치 가능합니다. 이제는 기본 pi 계정으로 docker 명령이 잘 돌도록 다음 명령이 필요합니다. sudo usermod -aG docker ${USER} 다음은 docker-compose 설치 방법입니다.기존에 다른 것과 달리 pip로 설치하는