mysqldump
예를 들어 다음과 같이 를 사용하여 수동으로 많은 DB 백업을 생성해야 합니다 .
mysqldump -uroot -proot my-db > my-db.sql
현재 날짜나 타임스탬프를 파일 이름에 포함하여 파일이 다음과 같이 보이도록 하는 쉬운 방법이 있는지 궁금합니다. my-db-20150917.sql
(또는 타임스탬프 등 다른 형식도 괜찮습니다.)
답변1
파일 이름에 날짜를 어떻게 기록할 수 있나요?
date
파일 이름에 현재 시간/날짜를 포함하려면 , 및 명령 대체 조합을 사용하십시오 .
mysqldump -uroot -proot my-db > my-db-`date +%Y%m%d`.sql
그만큼man
페이지date
사용할 수 있는 다른 옵션을 설명합니다. 하지만 이 맥락에서는 시간을 포함하는 데 관심이 있을 수도 있습니다.
mysqldump -uroot -proot my-db > my-db-`date +%Y%m%d-%H%M`.sql
잠깐, 이게 '명령어 대체'란 게 뭐죠?
에서 인용명령 대체에 대한 bash 해커 위키:
명령 대체는 명령 출력으로 확장됩니다. 이러한 명령은 하위 쉘에서 실행되며 해당
stdout
데이터는 대체 구문이 확장되는 것입니다.
기본적으로 를 date -%Y%m%d
출력하며 20150917
백틱( `
) 형식의 명령 대체를 사용하여 데이터베이스 백업을 위해 제공한 명령에 해당 출력을 포함합니다. 우리는 똑같이 다음을 사용할 수 있었습니다:
mysqldump -uroot -proot my-db > my-db-$(date +%Y%m%d).sql
동일한 결과를 얻으려면.