Author: byun1114

  • rsync

    CDM과 관련된 자료를 FTP를 이용해서 수작업으로 업로드해서 백업과 진짜 CDM 서버에 업로드하고 있다. 복사 작업 자체가 손이 많이 가는 것은 아니나 SSH를 이용해서 해당 작업을 하는 것은 그 기간동안 세션을 그대로 유지시켜야 하는 불편함아닌 불편함이 있다. 그래서 rsync를 이용해 보기로 하였다. 기본적인 사용 방법은 인터넷에서 쉽게 찾아볼 수 있다. 공개키와 개인키를 만들었을 경우 공개키를 등록시키면 별다른 옵션 없이도 비밀번호 입력 없이 사용가능했다. 백그라운드에서 동작시킨다면 사실 진행 과정을 보여주는 옵션은 필요없다. 저성능 NUC의 CPU를 기준으로 1Gbps 환경에서는 20MB/s 정도의 속도를 보여준다. 이 말은 100Mbps로 연결되는 환경에서는 CPU 성능에 영향 받지 않고 최대 전송 속도를 낼 수 있는 것을 의미한다.

    rsync -a -e 'ssh -p 포트번호' source target

    여러 옵션이 있으나 백업이 주된 목적이니까 –delete 같은 옵션은 생략할 수 있다. SSH 포트를 변경하였다면 -e 를 이용해서 해당 옵션을 지정하면 된다. source와 target 디렉토리에서 마지막 슬래시 여부에 따라 디렉토리 생성 방식이 다르니까 주의한다.

    당연히 신경써야 하는 것이겠으나.. 통상적으로 cron에 root 계정으로 작업을 등록하는 경우가 있는데, ssh 기반으로 작업 예약을 하겠다면 사전에 테스트한 계정으로 동작시켜야 한다.

    2022년 10월 13일 추가

    공개키를 원격 서버에 등록하면 되는데 간단한 방법을 찾았다.

    # cat ~/.ssh/id_rsa.pub | ssh [id@remote address] "cat >> .ssh/authorized keys"
  • Database 이름 변경

    CDM DB를 재구축하는 동안 기존 DB의 이름을 변경하여 사용하면 된다는 간단한 방법을 오늘에서야 생각해 냈다.

    \c postgres

    일단 현재 연결중인 DB에서는 이름을 바꿀 수 없기 때문에 설치했을 때 기본 DB였던 postgres DB로 연결한다.

    ALTER DATABASE cdm RENAME TO cdm_current;

    이렇게 이름을 바꾸어 준다.

  • 현재 실행 중인 쿼리 확인

    가장 간단하게는 다음과 같이 하면 된다. 그런데 쓸데없이 정보가 많다.

    SELECT * FROM pg_stat_activity;

    이렇게 하면 현재 active 상태인 것의 query 만 보여주어 현재 어떤 쿼리를 실행하고 있는지 알 수 있다.

    SELECT query FROM pg_stat_activity WHERE state = 'active';

    내가 실행하는 쿼리야 뻔한 수준이니만큼, 정말 현재 실행 중인 것만 보려면 좀 더 명령어를 집어 넣어주면 된다. 제외해야 할 것은 이 명령어 그 자체와 autovacumn이다.

    SELECT query FROM pg_stat_activity WHERE state = 'active' AND query NOT LIKE 'autovac%' AND query NOT LIKE '%pg_stat_activity%';

  • 프로타고라스, 최현 옮김, 범우사

    플라톤이 쓴 소크라테스와 프로타고라스의 키베.

    소크라테스는 현란한 말빨과 논리 전개로 당대 최고의 소피스트인 프로타고라스의 주장을 논파하는데 성공한다. 후반에 집중하게되는 명제는 ‘세상에는 경건치 못하고 부정스럽고 방탕하고 무지하지만 어느 누구보다도 뛰어난 용기를 갖고 있는 사람을 볼 수 있네’라는 프로타고라스의 주장이다.

    소크라테스는 정언 논리 인지 명제 논리 인지는 모르겠는데, 사람의 논리적 허점을 찾는데 귀신 같다. 본인도 그럴 의도죠? 그런 의도입니다. 그런 견해가 있습니다. 다른 사람들은 그렇게 주장합니다. 본인은 그렇게 주장하지 않으셨나요? 이런 말로 피해가는 것 같기도 하다.

    상대방을 논파하는데 탁월한 능력을 가진 소크라테스이지만 적도 만든다고 생각한다. 적당히 이용해야 좋은 방법.