使用Screen和Crontab备份MySQL


1

我正在尝试使用mysqldump,screen和crontab每天备份我的数据库表。如果我只运行mysqldump,它会正确转储,但如果我这样做screen,则输出文件为空。

编辑Crontab

crontab -e

添加命令

0 0 * * * screen -dmS MYDATABASE_MYTABLE_backup mysqldump -u MYUSERNAME -pMYPASSWORD -h MYHOSTNAME MYDATABASE MYTABLE --compress | gzip > /root/backup/database/MYDATABASE_MYTABLE_`date +\%Y-\%m-\%d`.sql.gz

Answers:


0

在这种情况下,不太确定你想用屏幕完成什么以及为什么需要它。但是您正在将(...)屏幕的输出与转储文件进行管道连接,而不是在屏幕中运行的程序的输出。你要么必须用引号括起完整的突击队 - 或者最好把突击队放在一个脚本文件中并简单地调用脚本代替

myscript.sh:

#!/bin/sh
mysqldump -u MYUSERNAME -pMYPASSWORD -h MYHOSTNAME MYDATABASE MYTABLE --compress | gzip > /root/backup/database/MYDATABASE_MYTABLE_`date +\%Y-\%m-\%d`.sql.gz

屏幕-dmS MYDATABASE_MYTABLE_backup myscript.sh

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.