2011-02-23 5 views
0

데이터베이스를 백업하기 위해 PHP 스크립트를 작성하려고합니다. 는 여기에 지금까지 시도한 작업은 다음과 같습니다Symfony 응용 프로그램에서 PHP를 통해 MySQL을 백업하십시오.

$command = "mysqldump -u [username] -p [password] [databasename] | gzip > db.sql.gz"; 
$this->output = system($command); 
  • 어떻게 암호와 databases.yml에서 이름을받을 수 있나요?

  • 서버에 (phpmyadmin)을 저장하는 대신 백업 파일 을 보내는 스크립트를 어떻게 수행 할 수 있습니까?

답변

2

심포니 작업을 만들 수 있습니다. 환경 (예 : dev, prod)이나 연결을 전달하면 Doctrine 연결 관리자에 액세스하여 연결을 생성합니다. 이 연결을 사용하여 데이터베이스 덤프를 만들거나 연결 관리자에서 연결 세부 정보를 가져올 수 있습니다.

doctrine insert sql 태스크를 태스크의 템플리트로 사용할 수 있습니다. 나는 과거에도 비슷한 일을 해왔다.

+0

좋은 제안이지만 사방에서 서버에 로그인하지 않고 도처에서 할 수 있기를 바란다. – Manu

+0

위의 해결책은 여전히 ​​서버에 ssh가 필요할 것이다. 서버로 ssh'ing하지 않고 그것을 할 수있는 유일한 방법은 브라우저에서 트리거하는 것입니다. 작업 클래스를 인스턴스화하여 symfony 작업을 작업 측면에서 트리거 할 수 있습니다. 이것이 바로 cli 앱의 기능입니다. – xzyfer

+0

나는 액션에서 그 일을 처리 할 것입니다. – Manu

관련 문제