автоматизация: скрипт для создания mysqldump в файл с именем даты / времени резервного копирования - PullRequest
1 голос
/ 27 февраля 2012

Я пробовал ткань с символом «>» в ​​командной строке. Он всегда выдает код ошибки 2. В настоящее время работает с subprocess.call, subprocess.check_output и сохранением stdout = "filesocket". Не работает. Единственное, что записывается в файл - это ИСПОЛЬЗОВАНИЕ для mysqldump. Использование shlex для анализа базы данных mysqldump -uroot -ppassword table1 table2 '

Все это потому, что я не знаю сценариев оболочки со строковыми переменными из утилиты date. Как взять текущую дату и использовать ее для именования файла резервной копии в сценарии оболочки. ИЛИ как мне сделать это в Python?

Заранее спасибо.

С уважением.

Ответы [ 3 ]

2 голосов
/ 27 февраля 2012

Вы можете получить пользовательскую дату устаревшей, используя следующий синтаксис.

CUSTOM_DATE=$(date "+%Y-%m-%d_%H_%M_%S")

Самый простой способ сделать это - поставить на удаленный конец скрипт, который делает «все»

#!/bin/bash

CUSTOM_DATE=$(date "+%Y-%m-%d_%H_%M_%S")
mysqldump -u admin -p password database table1 table2 >/path/to/backups/mysqldump.${CUSTOM_DATE}.db
1 голос
/ 27 февраля 2012

"Как мне взять текущую дату и использовать ее для именования файла резервной копии в сценарии оболочки. ИЛИ как мне сделать это в python?"

from datetime import datetime

filename = 'mysql_backup_{0:%Y%m%d_%H%M}.sql'.format(datetime.now())

# filename == 'mysql_backup_20120227_0952.sql'
0 голосов
/ 28 февраля 2015

Мой ответ от родственного сообщения stackoverflow .

В Microsoft Windows , выполните команду ниже в CMD

mysqldump -u USERNAME -pYOURPASSWORD --all-databases > "C:/mysql_backup_%date:~-10,2%-%date:~-7,2%-%date:~-4,4%-%time:~0,2%_%time:~3,2%_%time:~6,2%.sql"

Выходной файл будет выглядеть,

mysql_backup_21-02-2015-13_07_18.sql

Если вы хотите автоматизировать процесс резервного копирования, то вы можете использовать планировщик задач Windows и поместить указанную выше команду в файл .bat - планировщик задач будет запускать файл .bat с заданным интервалом.

...