Как обновить установку управления контентом путем перезаписи существующих файлов через ssh и shell?

Я установил cms (modx) на веб-сервере под управлением CentOS 5 и Apache 2.2. Теперь есть новая версия, и я хотел бы ее обновить. Инструкции в modx-wiki предлагают перезаписать существующие файлы.

Я загрузил .zip-файл и извлек его. Текущая установка находится в html/cms/ . Новые файлы html/modx-2.1.1-pl/ в html/modx-2.1.1-pl/ . Я обращаюсь к серверу через ssh-соединение.

Как переместить новые файлы в html/cms/ во время перезаписывания существующих файлов и сохранения файлов, которые не являются частью установочных файлов? Я уже пробовал команду mv и прочитал, что rsync или cp могут быть подходящими.

Когда я пробовал mv -ivt cms/ modx-2.1.1-pl/* это не сработало. Подкаталоги modx-2.1.1-pl/ не были перемещены.

Как это сделать правильно?

2 Solutions collect form web for “Как обновить установку управления контентом путем перезаписи существующих файлов через ssh и shell?”

Во-первых, сделайте резервную копию существующих файлов, на всякий случай.

 tar czf modx-old.tar.gz html/cms 

Затем используйте cp для копирования новых файлов на место. Вы не можете использовать mv здесь, потому что он просто пропускает существующие каталоги, а не рекурсирует в них. Но cp сделает глубокую копию, перезаписав любой существующий файл в пункте назначения.

 cd html/modx-2.1.1-pl/ && cp -Rpf . ../html/cms/ 

С помощью GNU cp вы можете добавить -l для создания жестких ссылок вместо копирования.

Наконец, вы можете удалить modx-2.1.1-pl .

У вас просто неправильный порядок аргументов. Использование команды mv – это mv source dest . Если вы хотите переместить все под modx-2.1.1-pl в cms, вы должны сделать mv modx-2.1.1-pl/* cms/ . На самом деле может быть лучше использовать cp вместо mv , и в этом случае синтаксисом будет cp -r modx-2.1.10pl/* cms/ .

  • Как переименовать на фиксированную длину
  • По умолчанию umask для заданий cron
  • Удалить BS и ESC из файлов журнала
  • Печать пространства между строками
  • Почему обратная косая черта преобразуется в пространство в выражении эха, если IFS = '\'?
  • Занятое поле Прочитайте файл по строкам
  • Считайте в реальном времени выходные строки из другой команды вывода
  • Используйте функцию автозаполнения терминала для ввода сценария оболочки
  • Как получить последние N файлов в каталоге?
  • grep переменная в выражении if
  • Эффективное объединение / сортировка / уникальное большое количество текстовых файлов
  • Linux и Unix - лучшая ОС в мире.