Резервное копирование и борьба со стихийными бедствиями планируют mysql базу данных

Я бы использовал .filter и .includes -

const fileNames =
  ['one', 'two', 'three', 'three', 'five', 'six', 'ten']

const fileNamesWExt =
  [ 'one.txt', 'two.txt', 'three.txt', 'ten.wmf', 'eleven.cgm' ]

const basename = filename =>
  filename.split(/\.[^.]+$/)[0]

const finalArray =
  fileNamesWExt.filter(f => ! fileNames.includes(basename(f)))
  
console.log(finalArray)
// [ 'eleven.cgm' ]

Обратите внимание на нашу реализацию basename, которая Осторожно удалить только последнее расширение -

const basename = filename =>
  filename.split(/\.[^.]+$/)[0]
  
console.log
  ( basename ("cat")               // "cat"
  , basename ("cat.dog")           // "cat"
  , basename ("cat.dog.eel")       // "cat.dog"
  , basename ("cat.dog.eel.fox")   // "cat.dog.eel"
  )

Если вы не можете использовать функции стрелок, вы, вероятно, используете довольно старый версия JavaScript. В этом случае вам также нужно будет заполнить .includes -

Array.prototype.includes = function (x, init) {
  for (var i = init || 0; i < this.length; i = i + 1)
    if (this[i] === x)
      return true;
  return false;
};

var fileNames =
  ['one', 'two', 'three', 'three', 'five', 'six', 'ten'];

var fileNamesWExt =
  [ 'one.txt', 'two.txt', 'three.txt', 'ten.wmf', 'eleven.cgm' ];

var basename = function (filename) {
  return filename.split(/\.[^.]+$/)[0];
};

var finalArray =
  fileNamesWExt.filter(function (f) {
    return ! fileNames.includes(basename(f));
  });
  
console.log(finalArray);
// [ 'eleven.cgm' ]

5
задан Jeff Atwood 1 December 2008 в 11:34
поделиться

1 ответ

Примечание: можно хотеть включать обработку отказа в управление критическими данными.

Резервное копирование часто используется для копии Ваших данных, готовых быть восстановленными.

Обработка отказа и DRP восстанавливают сервис (не только данные), так как новый сервер доступен:

  • в течение нескольких минут для обработки отказа, так как это обычно находится в той же сети, и ее имя не должно быть опубликовано на различном DNS
  • в течение нескольких часов в случае DRP

Для чистой стратегии резервного копирования я иду с ежедневным инкрементным резервным копированием и еженедельным полным резервным копированием.

Однако у нас также есть соединение SRDF, позволяющее репликацию данных реального времени с нашим центром удаленных данных, используемым для DRP.

Теперь, резервное копирование + обработка отказа + SRDF (для DRP) мог бы быть излишеством для данных разработки, но может быть выровнен по ширине для производственных данных (должен был восстановить сервис, работающий в производстве).

Таким образом для лучше совершенствования политик необходимо ясно проанализировать то, что представляют данные.

6
ответ дан 14 December 2019 в 13:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: