0

我有以下脚本 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. 以下格式的文件(dump-1.sql)是dump-dd-mm-yyy-hh-mm.sql
  2. sh dbbackup.sh每天凌晨 3 点运行我需要作为 cron 作业运行的脚本

对 UNIX 完全陌生,所以不知道上面该怎么做

4

2 回答 2

2

您只需要使用date命令,请参见以下shell代码:

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"
于 2012-10-10T22:59:17.543 回答
1

内容dbbackup.sh

#!/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. 进入:

0 3 * * *  /path/to/dbbackup.sh
于 2012-10-10T23:01:23.377 回答