파일 이름에 현재 타임스탬프를 포함하시겠습니까?

파일 이름에 현재 타임스탬프를 포함하시겠습니까?

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

동일한 결과를 얻으려면.

관련 정보