2012-10-10 103 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"