2014-05-05 208 views
0

当我使用下面的命令cron作业命令执行

mysqldump -hHOST -uUSERNAME -pPASSWORD DATABASE > file.sql 

想单独的作业每次创建时执行cron的工作,而不是覆盖现有文件没有覆盖exising文件。

回答

1

我使用shell scrip在我的服务器上解决这个问题。这是代码,如果你想尝试。创建文件.sh,例如:backupdb.sh

#!/bin/bash 
NOW=$(date +"%m%d%Y") 
FILE="backupdb.$NOW.tgz" 
SQL="backupdb.$NOW.sql" 
DBNAME='live'    #name of database 
DUMP='/usr/bin/mysqldump' 
USER='root'    #user 
HOST=10.0.0.8    #Ip database 

$DUMP -h $HOST -u $USER -pYOURPASSWORD --routines --events $DBNAME > /home/backupdb/$SQL 

gzip -9 /home/backupdb/$SQL 
echo "BACKUP DATABASES FROM MYSQL MASTER SUCCESS $SQL"|mail -s "BACKUP DATABASES" [email protected]   #you can chang this email with your personal email 

并保存。

不要忘记更改权限,

chmod +x backupdb.sh 

在cron作业添加该代码

00 04 * * * sh /home/backupdb/backupdb.sh 

保存

就是这样。

对不起,如果我的英文不好