Как Синхронизировать Каталоги в двух различных внешних жестких дисках?

Существует несколько способов отметить экземпляры процесса. Можно сделать это через название команды в списке процессов (например. matlab_1 вместо matlab) или через переменную среды. Используя PID возможно, также. Просто необходимо произвести его прежде matlab запускается:

nohup time bash -c 'echo $$; exec matlab -some_parameters -r "run '"$1"';exit"' &>> "$2" &

Редактирование 1:

$$ PID оболочки, но из-за exec matlab обработайте просто перезаписывает процесс оболочки, т.е. PID не изменяется. exec средства, что в конце названной программы нет никакого перехода назад к оболочке; потому что нет никакой оболочки больше.

Для объяснения других опций я упомянул, см. мой ответ на этот вопрос.

4
22.08.2014, 01:16
2 ответа

use rsync :

rsync -a --ignore-existing cosmo_sim_9 /dest/disk/cosmo_sim_9

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

вы можете сделать это для всех каталогов, используя цикл bash для :

for dir in cosmo_sim_* ; do
rsync -a --ignore-existing "$dir" "/dest/disk/$dir"
done
7
27.01.2020, 20:45

С помощью rsync можно добиться этого. В зависимости от типа имеющейся у вас системы, вам нужно загрузить её:

  • sudo yum install rsync (RPM Based)
  • sudo apt-get install rsync (Debian Based)

Затем, используя эту команду, вот команда, которую вам нужно будет использовать:

rsync -a source destination

Or

rsync -r source destination

Где -r означает копирование данных рекурсивно (но не сохраняйте временные метки и разрешения во время передачи данных.

-a означает режим архива, режим архива позволяет копировать файлы рекурсивно, а также сохраняет символические ссылки, права доступа к файлам, владельцев пользователей и групп и метки времени

.
10
27.01.2020, 20:45

Теги

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