Postfix로 두개의 도메인( 예, a.com & b.com)을 이용하여 메일 서비스를 사용할 경우

각각의 도메인으로 도착하는 메일을 한의 메일 계정으로 확인하고자 할경우 Virtual_alias_domains 와 Virtual_alias_maps 설정으로 이용할 수 있다.


설정하는 방법은 postfix의 설정파일(main.cf & virtual)을 수정하는 방법과 DB를 이용하여 서비스를 구성하는 방법이 있다.




[방법 1] - 설정파일 편집하여 사용하기


● /etc/postfix/main.cf 수정


virtual_mailbox_domains = a.com 
virtual_alias_maps = hash:/etc/postfix/virtual


● /etc/postfix/virtual 수정 


# I want @a.com to have two incoming aliases
@a.com   @b.com


이렇게 설정하면 a.com 으로 오는 모든 메일은  b.com 도메인의  동일한 계정 전달된다.
이 방법은 설정이 간단하여 바로 이용할 수 있으나, 매번 설정 후 엔진을 재실행해야 한다.

포워딩 도메인이 여러개일 경우 virtual_mailbox_domains = a.com 도메인1 도메인2 

이렇게 증가시키면 된다.  /etc/postfix/virtual 파일에 @로 라인을 증가시킨다.



[방법 2] - DB와 연계하여 사용하기


● /etc/postfix/main.cf 수정


virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql/virtual_mailbox_domains.cf 
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql/virtual_alias_maps.cf

● /etc/postfix/mysql/virtual_mailbox_domains.cf 


hosts       = 127.0.0.1:3306
user        = DB계정
password    = DB패스워드
dbname      = DB이름

query       = SELECT domain FROM domain WHERE domain='%s' AND backupmx=0 AND active=1 UNION SELECT alias_domain.alias_doma
in FROM alias_domain,domain WHERE alias_domain.alias_domain='%s' AND alias_domain.active=1 AND alias_domain.target_domain=
domain.domain AND domain.active=1 AND domain.backupmx=0


● /etc/postfix/mysql/virtual_alias_maps.cf 


hosts       = 127.0.0.1:3306
user        = DB계정
password    = DB패스워드
dbname      = DB이름

query       = SELECT forwardings.forwarding FROM forwardings,domain WHERE forwardings.address='%s' AND forwardings.domain=
domain.domain AND forwardings.active=1 AND domain.backupmx=0 AND domain.active=1


● DB(vmail) - TABLE 
[domain]
domain/description/disclaimer/aliases/mailboxes/maillists/maxquota/quota/transport/backupmx/settings/created/modified/expired/active

a.com/0/0/0/0/0/dovecot/0/default_user_quota:1024;/2018-04-30 11:19:10/1970-01-01 01:01:01/9999-12-31/00:00:00/1
b.com/0/0/0/0/0/dovecot/0/                        /1970-01-01 01:01:01/1970-01-01 01:01:01/9999-12-31/00:00:00/1


[alias_domain]
alias_domain/target_domain/created/modified/active

a.com/b.com/1970-01-01 01:01:01/1970-01-01 01:01:01/1


[forwardings]
address/forwarding/domain/dest_domain/is_maillist/is_list/is_forwarding/is_alias/active

@a.com/@b.com/a.com/b.com/0/0/0/0/1

  •  최근 30분 내에 수정된 파일

     find . -type f -mmin -30


  •  최근 5분 내에 수정된 파일 목록 상세

     find . -type f -mmin -5 | xargs ls -l


  •  24시간 이내에 변경된 php 파일을 찾는 명령.

     find . -name '*.php' -mtime -1 -print


  •  최근 7일 이전에 수정된 파일 찾기 (-exec rm -f {} \; 조합으로 과거 로그 지울때 유용)

     find . -name '*.php' -mtime +7 -print

     find . -name '*.php' -mtime +7 -exec rm -f {} \;

 

  •  홈 디렉토리 아래에서 크기가 5096kb 이상인 파일을 찾아 자세한 정보(ls -l)을 출력한다.

     [zany@zany-macbookpro ~]$ find ~ -size +5096k -exec ls -l {} \;

     -rw-r--r-- 1 root root 669319168 Mar 11 17:10 /root/valhalla-i386-disc2.iso

     -rw-r--r-- 1 root root 5563716 Feb 28 11:21 /root/.mozilla/firefox/kazb7qu2.default/Cache/D0709ED3d01

     -rw-r--r-- 1 root root 714907648 Mar 5 17:25 /root/images/nuxone/NuxOne_v2.1_RPMS_CD2.iso

     -rw-r--r-- 1 root root 596164608 Mar 5 17:01 /root/images/nuxone/NuxOne_v2.1_RPMS_CD1.iso

     -rw-r--r-- 1 root root 318918656 Mar 5 17:18 /root/images/nuxone/NuxOne_v2.1_RPMS_CD3.iso


  •  /usr 디렉토리 내에서 지난 24시간 동안 사용되었던 확장명이 jpg인 모든 파일을 찾아 그 내용을 자세히 출력 시켜준다.

     [zany@zany-macbookpro ~]$ find /usr -name "*.jpg" -atime -1 -exec ls -l {} \;


  •  dev 디렉토리 내에 빈 파일들을 찾는다.

     [zany@zany-macbookpro ~]$ find /dev -type f -empty


  •  현재 디렉토리(서브디렉토리 포함)에서 '2011-03-03' 이라는 문자열을 포함하고 있는 파일을 찾는다.

    [zany@zany-macbookpro ~]$ find ~/. -type f -exec grep '2011-03-03' {} /dev/null \;







MariaDB [web3]> show full columns from 테이블명;

+--------------+----------+-----------------+------+-----+---------+----------------+---------------------------------+---------+

| Field        | Type     | Collation       | Null | Key | Default | Extra          | Privileges                      | Comment |

+--------------+----------+-----------------+------+-----+---------+----------------+---------------------------------+---------+

| no           | int(11)  | NULL            | NO   | PRI | NULL    | auto_increment | select,insert,update,references |         |

| date         | char(20) | utf8_general_ci | YES  |     | NULL    |                | select,insert,update,references |         |

| temp         | char(20) | utf8_general_ci | YES  |     | NULL    |                | select,insert,update,references |         |

| average_temp | char(20) | utf8_general_ci | YES  |     | NULL    |                | select,insert,update,references |         |

| tmn          | char(20) | utf8_general_ci | YES  |     | NULL    |                | select,insert,update,references |         |

| tmx          | char(20) | utf8_general_ci | YES  |     | NULL    |                | select,insert,update,references |         |

| weather      | char(20) | utf8_general_ci | YES  |     | NULL    |                | select,insert,update,references |         |

| rainfall     | char(20) | utf8_general_ci | YES  |     | NULL    |                | select,insert,update,references |         |

| month_day    | char(20) | utf8_general_ci | YES  |     | NULL    |                | select,insert,update,references |         |

+--------------+----------+-----------------+------+-----+---------+----------------+---------------------------------+---------+

9 rows in set (0.00 sec)





MariaDB [web3]> describe weather_susin_myeon;

+--------------+----------+------+-----+---------+----------------+

| Field        | Type     | Null | Key | Default | Extra          |

+--------------+----------+------+-----+---------+----------------+

| no           | int(11)  | NO   | PRI | NULL    | auto_increment |

| date         | char(20) | YES  |     | NULL    |                |

| temp         | char(20) | YES  |     | NULL    |                |

| average_temp | char(20) | YES  |     | NULL    |                |

| tmn          | char(20) | YES  |     | NULL    |                |

| tmx          | char(20) | YES  |     | NULL    |                |

| weather      | char(20) | YES  |     | NULL    |                |

| rainfall     | char(20) | YES  |     | NULL    |                |

| month_day    | char(20) | YES  |     | NULL    |                |

+--------------+----------+------+-----+---------+----------------+

9 rows in set (0.00 sec)





MariaDB [web6]> show   create   table   weather_xml_test; 

| Table            | Create Table                                                                                

+------------------+--------------------------------------------------------------------------------------------

| weather_xml_test | CREATE TABLE `weather_xml_test` ( 

  `no` int(11) NOT NULL AUTO_INCREMENT, 

  `date` char(20) DEFAULT NULL, 

  `temp` char(20) DEFAULT NULL, 

  `average_temp` char(20) DEFAULT NULL, 

  `tmn` char(20) DEFAULT NULL, 

  `tmx` char(20) DEFAULT NULL, 

  `weather` char(20) DEFAULT NULL, 

  `rainfall` char(20) DEFAULT NULL, 

  `month_day` char(20) DEFAULT NULL, 

  PRIMARY KEY (`no`) 

) ENGINE=InnoDB AUTO_INCREMENT=474 DEFAULT CHARSET=utf8 | 


1 row in set (0.00 sec)

+ Recent posts