2014-06-11 2 views
0

매일 내 postgreSQL 데이터베이스에서 데이터를 검색하고 우편으로 결과를 보내고 싶습니다. 어떻게 할 수있는 가장 좋은 방법입니까?쉘 스크립트를 사용하여 postgreSQL에서 데이터 가져 오기 및 메일로 보내기

내 SELECT를 실행 한 다음 메일 기능으로 보내는 쉘 스크립트에 대해 생각하지만 SELECT 부분을 수행하는 방법을 모르겠습니다.

#!/bin/sh 
todayDate = $(date); 
nbUsers = mySelect; 
nbPosts = mySelect; 

echo "We are ".$date." dans there are ".$nbUsers." users and ".$nbPosts." posts " | mail -s "[DAILY]" [email protected] 

수정 (업데이트 코드) :

#!/bin/sh 
todayDate=$(date +%y%m%d%H%M%S) 
nbUsers=$(su postgres -c "psql -d database -c 'SELECT COUNT(*) FROM table1'") 
nbPosts=$(su postgres -c "psql -d database -c 'SELECT COUNT(*) FROM table2'") 

echo "We are $todayDate. There are $nbUsers users and $nbPosts posts." | mail -s "[DAILY] Databse" [email protected] 

EDIT2 (업데이트 코드)

#!/bin/sh 
su - postgres 
todayDate=$(date +"%d/%m/%y") 
todayTime=$(date +"%T") 
nbUsers=$(psql -A -t -d database -c "SELECT COUNT(id) FROM table1;") 
nbPosts=$(psql -A -t -d database -c "SELECT COUNT(id) FROM table2;") 
echo "We are $todayDate. There are $nbUsers users and $nbPosts posts." | mail -s "[DAILY] Databse" [email protected] 
+0

가능한 중복 메일이 명령의 출력을 보낼 수 있습니다 (http://stackoverflow.com/questions/18223665/postgresql-query-from- bash-script-as-postgres-user) –

답변

1

당신은 PostgreSQL을 데이터베이스에서 psql의 명령을 사용하여 데이터를 검색 할 수 있습니다

그 후 10

당신이 [포스트 그레스의 사용자로 bash는 스크립트에서 PostgreSQL의 쿼리]의

+0

안녕하세요, 고마워요. 내 코드를 편집하기 위해 내 게시물을 편집했습니다. 변수에 명령을 지정할 수 있습니까? – Elwyn

+0

업데이트 된 답변 확인 –

+0

감사합니다. 내 코드를 업데이트하지만 스크립트를 실행하는 동안 오류가 발생합니다. ** "/ root"로 디렉토리를 변경할 수 없습니다. ** – Elwyn

관련 문제