Linux su명령을 이용해서 다른 사용자 권한으로 프로그램 실행하기

linux Linux

Linux에서 Oracle이나 PostgresSQL의 명령들을 root 사용자로 실행하는 것은 $ORACLE_HOME, $PGDATA 등의 환경 변수를 준비해야 하며 또한 root 사용자로 실행해서 생성된 파일들은 owner가 root이기 때문에 oracle 또는 postgres 사용자가 액세스 할 수 없습니다. root 사용자로 실행하는 Shell 프로그램에서 다른 사용자의 명령을 사용하고자 한다면 su 명령을 사용하는 것이 좋습니다. 이 글에서는 su 명령으로 postgresql의 명령을 실행하는 Shell 프로그램 작성 방법을 소개합니다.

작업 환경

이 글은 다음 환경에서 작업했습니다.

# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

su 명령 형식

다른 사용자로 명령을 실행하는 형식은 다음과 같습니다.

su – 사용자 -c “명령”

따라하기

다음 글의 내용을 Shell Script로 만들어 root 사용자의 crontab에 등록해서 매일 AM1:00에 PosrtgreSQL 데이터베이스의 전체 백업을 받도록 하겠습니다.

눈깨비 정보창고 - 분기탱천
마우스 영역 지정 이미지 캡처를 문자 인식 및 번역하기 버튼 클릭 만으로  을 실행 해 주는 소프트웨어를 작성 했습니다. 자세한 도움말은 여기를 참조 하십시오. 웹 서비스 구축 눈깨비가 본업으로 하고 있는 기술적인 ...

위의 글 내용을 Shell Script로 만든 다음 소스를 파일명 cron_backuppg_test.sh 로 저장합니다.

코드 상세 설명

18행 pg_basebackup은 postgres 유저 권한으로 실행하도록 su – 사용자 -c “명령” 형식을 사용하여 실행합니다.

cron 스케줄 등록

cron_backuppg_test.sh를 다음과 같이 crontab에 등록합니다.

# crontab -e
0  6  *  *  * sh /root/cron_backuppg_test.sh

User에 로그인 후, crontab을 등록하는 방법에 대해서는 다음 글을 참조하십시오

눈깨비 정보창고 - 분기탱천
마우스 영역 지정 이미지 캡처를 문자 인식 및 번역하기 버튼 클릭 만으로  을 실행 해 주는 소프트웨어를 작성 했습니다. 자세한 도움말은 여기를 참조 하십시오. 웹 서비스 구축 눈깨비가 본업으로 하고 있는 기술적인 ...
제목과 URL을 복사했습니다