转储数据库并将其复制到带有日期小时后缀的远程服务器

转储数据库并将其复制到带有日期小时后缀的远程服务器

我想转储数据库并将其复制到远程服务器,并在文件后加上 date_hour 后缀。以下是我所做的(当然它不起作用):

mysqldump -u root -p myDb > myDb.sql && \
  tar -cvzf myDb.tar.gz myDb.sql && \
  scp myDb.tar.gz [email protected]:myDb_$(date +\%Y\%m\%d\%H\%M\%S).tar.gz

正确的语法应该是什么?

谢谢

答案1

除了拼写错误、DNS、网络、客户端/服务器文件权限和端口问题(需要-Pscp 标志)之外,唯一让我印象深刻的其他事情是您没有在冒号后指定路径。

[电子邮件保护]:myDb_$(日期 +\%Y\%m\%d\%H\%M\%S).tar.gz

这意味着服务器可以决定将文件转储到哪里。如果是 /tmp(这可能是一种安全预防措施),那么它可能不会到达您期望的位置。

如果你指的是 root 的主文件夹,那么你可以使用

...x.x.x.x:/root/myDb_...

或者您可以使用“用户主文件夹”的简写波浪符号 (~)

...x.x.x.x:~/myDb_...

如果这不是解决方案,您能否使用每个命令的输出更新您的问题。:-)

相关内容