我有以下脚本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
我需要进行以下更改
dump-dd-mm-yyy-hh-mm.sql
sh dbbackup.sh
运行脚本,我需要每天凌晨3点作为cron作业运行完全不熟悉UNIX,所以不确定如何做到
答案 0 :(得分: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"
答案 1 :(得分: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
进入crontab。输入:
0 3 * * * /path/to/dbbackup.sh