2012-10-10 115 views
0

我有以下腳本dbbackup.sh使用shell腳本變量和運行作爲cron作業

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. 該文件是在以下格式(轉儲1.SQL)是要dump-dd-mm-yyy-hh-mm.sql
  2. sh dbbackup.sh運行腳本,我需要在凌晨3點
作爲日常cron作業運行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中使用crontab -e。輸入:

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

你只需要使用date命令,請參閱以下shell代碼:的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"