Cron作业命令在执行时不覆盖现有文件

时间:2014-05-05 00:06:22

标签: cron cronexpression

我正在使用以下命令

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

每次执行cron作业时都希望创建单独的作业,而不是覆盖现有文件。

1 个答案:

答案 0 :(得分:1)

我正在使用shell脚本来解决我的服务器上的这个问题。如果您想尝试,这是代码。创建文件.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" your@email.com         #you can chang this email with your personal email

并保存。

不要忘记更改权限,

chmod +x backupdb.sh

在cron job

中添加此代码
00 04 *  *  * sh /home/backupdb/backupdb.sh

保存

就是这样。

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