2012-10-10 8 views
0

I가 내가 다음은 다음에있을쉘 스크립트에서 변수를 사용하고 cron 작업으로 실행

  1. 파일을 변경해야 dbbackup.sh

    mysqldump -P 3306 -h 436543545.amazonaws.com -u admin--password=goaway mydb > dump-1.sql 
    s3cmd put dump-1.sql s3://database-blah-bucket 
    rm -f -r dump-1.sql 
    

    다음 스크립트 형식 (덤프 1.sql는) 내가 오전 3시

에서 cron 작업의 일상으로 실행해야하는 sh dbbackup.sh하여 스크립트를 실행 dump-dd-mm-yyy-hh-mm.sql
  • 이 될 것입니다3210

    이상 수행하는 방법에 확신하지 UNIX에 완전히 새로운

  • 답변

    1

    내용 :

    #!/bin/bash 
    
    HOST="436543545.amazonaws.com" 
    PORT=3306 
    USER="admin" 
    PASSWORD="goaway" 
    DATABASE="mydb" 
    
    DATE_STR=$(date +%d-%m-%Y-%H-%M) 
    
    FILENAME="dump-${DATE_STR}.sql 
    
    mysqldump -P $PORT -h $HOST -u $USER --password=${PASSWORD} $DATABASE > $FILENAME 
    s3cmd put $FILENAME s3://database-blah-bucket 
    rm -f -r $FILENAME 
    

    을 그런 다음 crontab -e을 사용하여 crontab으로 이동하십시오. 입력 :

    0 3 * * * /path/to/dbbackup.sh 
    
    2

    당신은 다음과 같은 shell 코드를 참조 date 명령을 사용합니다 : dbbackup.sh

    dump="dump-$(date +%d-%m-%Y-%H-%M).sql" 
    mysqldump -P 3306 -h 436543545.amazonaws.com -u admin--password=goaway mydb > "$dump" 
    s3cmd put "$dump" s3://database-blah-bucket 
    rm -f -r "$dump" 
    
    관련 문제