Создайте дамп базы данных и отправьте ее на удаленный сервер с суффиксом даты и времени

Я хотел бы сбросить базу данных и scp ее на удаленный сервер и суффикс файла с date_hour. Вот что я сделал (конечно, это не работает):

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

Какой должен быть правильный синтаксис?

Спасибо

1 ответ

Вне опечаток, DNS, сети, клиент / сервер файловых разрешений и проблем с портом (требуется -P флаг для scp) единственное, что меня выделяет, это то, что вы не указали путь после двоеточия.

root @ xxxx:myDb_$(дата +\%Y\%m\%d\%H\%M\%S).tar.gz

Это означает, что сервер должен решить, куда будет помещен этот файл. Если это / tmp (что может быть мерой безопасности), то он может не оказаться там, где вы ожидаете.

Если вы имели в виду домашнюю папку root, то вы можете использовать

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

или вы можете использовать сокращение для "домашней папки пользователя" тильды (~)

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

Если это не решение, можете ли вы обновить свой вопрос выводом каждой команды.:-)

Другие вопросы по тегам