Хранение регистрирует, которые часто изменяются в синхронизации между рабочим столом и ноутбуком

Я ищу способ сохранить рабочий стол и ноутбук в синхронизации. Что я хочу сохранить в синхронизации, некоторые папки, главным образом ~ / Документы, которые часто изменяются при работе над ними.

Если имеет значение, что я могу соединиться со своим рабочим столом отовсюду через URL, но мой ноутбук более тверд к доступу, так как это могло бы быть позади NAT и такого.

Я смотрел на Ubuntu Один, но это, кажется, не подходит к работе над документами, записанными в ЛАТЕКСЕ. Если я работаю над .tex файлом в Ubuntu Один каталог и компилирую его (с pdflatex) время от времени (как часто как каждые 10 секунд при работе) это создаст несколько новых файлов включая PDF, которые загружаются на Ubuntu Один, и это кажется глупым, так как это создаст непрерывную загрузку при работе над .tex файлами. Я также обычно сохраняю .tex версию документов управляемой мерзавцем и затем каждой фиксацией (который также может часто происходить), вызовет загрузку (изменениями в./.git) так, чтобы это происходило непрерывно при работе. Другой пример редактирует образы, которые часто сохраняются. То, что я думаю, было бы лучшим, чтобы синхронизация произошла каждая десятая минута или в конце каждой рабочей сессии (но мог бы быть некоторый другой способ обработать это?).

3
задан 30 June 2011 в 00:18

3 ответа

Это - решение на основе ответа fossfreedom на другой вопрос, Синхронизируя 2 Системы Ubuntu с Унисоном, руководством Унисона и моим ответом на другой вопрос.

Установка

Оба компьютера

  1. sudo apt-get install openssh-server unison
  2. Протестируйте ссылку SSH от каждого компьютера до другого.

На компьютере, который мог бы быть позади NAT

  1. mkdir ~/.unison
  2. nano default.prf – Создайте файл профиля, названный значением по умолчанию.
  3. Запишите файл профиля, например:

    root = /home/user
    
    root = ssh://user@user.dyndns-ip.com//home/user
    
    path = Documents
    

Синхронизация

Синхронизируйте компьютеры путем выполнения unison -auto default на компьютере, который мог бы быть позади NAT. Это будет синхронизировать ~/Documents. Я делаю это прежде и после того, как мой ноутбук оставит LAN с моим рабочим столом для хранения их документов в синхронизации.

0
ответ дан 1 December 2019 в 15:46

Вы уже используете мерзавца, к этому делает вещи легче. Решение здесь состояло бы в том, чтобы использовать 2 репозитория мерзавца, тот, который синхронизируется Ubuntu Один и тот, который не является. Можно затем продвинуть изменения в синхронизировавшей папке, когда, и только когда, Вы хотите, чтобы синхронизация произошла.

Вы, вероятно, хотите сохранить версию в ~/, Документы, синхронизировавшие наряду со всеми Вашими другими документами (включите Ubuntu Одну синхронизацию для ~ / Документы, если Вы уже не имеете), поэтому создайте клон в не синхронизировавшей папке:

mkdir ~/nonsynced
cd ~/nonsynced
git clone ~/Documents/LATEX_PROJECT

Можно затем работать над файлами в ~/nonsynced/LATEX_PROJECT. Когда Вы захотите синхронизироваться, продвиньте к ~/Documents/LATEX_PROJECT:

git push ~/Documents/LATEX_PROJECT

Если Вы затем работаете над другим синхронизируемым компьютером, можно получить актуальную версию путем выполнения:

git pull ~/Documents/LATEX_PROJECT

от ~/nonsynced/LATEX_PROJECT.

Необходимо будет заменить LATEX_PROJECT названием управляемой папки версии в ~ / Документы.

2
ответ дан 1 December 2019 в 15:46

Я думаю, что Вы не должны добавлять сгенерированный (PDF, dvi или Постскриптум) файлы к системе управления версиями; однако имеет смысл копировать их в синхронизировавший каталог или другой сервер. Я обычно делаю этот вид вещей с make команда.

У меня есть a Makefile как это в каталоге, где ЛАТЕКСНЫЕ файлы (отступы являются вкладками, не пробелами). Посмотрите, что GNU Делает Руководство.

%.pdf: %.tex
        pdflatex  $<
        pdflatex  $<

store_pdf:
        cp example*.pdf path/to/synced_directory

upload_pdf:
        scp example*.pdf user@server.name.com:path/to/directory

clean:
        rm *.log *.aux *.nav *.vrb *.out *.snm *.toc

Если Вы хотите переместить файлы в синхронизировавший каталог или в сервер, где у Вас есть ssh доступ, необходимо ввести:

make store_pdf
make upload_pdf

Если Вы хотите генерировать example1.pdf от example1.tex, необходимо ввести:

make example1.pdf

Если Вы хотите удалить файлы, Вам не нужно, необходимо ввести:

make clean
3
ответ дан 1 December 2019 в 15:46

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

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