
Я хочу иметь одну и ту же папку в двух разных местах в моем Ubuntu. Если я что-то обновляю в одном месте, оно также должно обновиться в другом месте.
Как мне это осуществить?
решение1
Как указано в комментариях, но не как правильный ответ:
Во многих случаях символическая ссылка является самым простым решением.
Вы можете легко создать их в командной строке (используя ln
команду с -s
параметром). Вы можете легко создать их и с помощью графического интерфейса: большинство файловых браузеров (nautilus, ...) позволяют создавать символические ссылки с помощью перетаскивания (например, для перемещения файла) с нажатой клавишей-модификатором (CTRL+SHIFT).
Пример использования командной строки:
$ mkdir first_dir
$ ln -s ./first_dir ./second_dir
$ ls
first_dir second_dir
$ touch ./first_dir/test_1
$ touch ./second_dir/test_2
$ ls ./first_dir
test_1 test_2
$ ls ./second_dir
test_1 test_2
решение2
Использоватьпривязать крепления.
Предположим, у вас есть существующий каталог /home/pandey/original
и вы хотитезеркалоэто делается для /home/pandey/mirror
того, чтобы все, что вы делаете в одном из них, автоматически делалось и в другом.
Это не требует синхронизации или копирования между двумя каталогами.привязать креплениеэто просто еще одинвидв исходный каталог, и то, что происходит в одном, происходит и в другом.
Создайте (как ваш пользователь) новый каталог
/home/pandey/mirror
:mkdir /home/pandey/mirror
привязать-креплениеисходный каталог в новый созданный путь. Для этого требуется доступ root:
sudo mount --bind /home/pandey/original /home/pandey/mirror
Наслаждаться.
Чтобы отменить это, просто
sudo umount /home/pandey/mirror
rmdir /home/pandey/mirror
См. также этот вопрос и его выдающийся ответ на stackexchangeо привязке-креплениях.
решение3
Это можно сделать, установив задание crontab:
- Откройте терминал и введите
crontab -e
- Нажмите
i
, чтобы активировать режим вставки вашего редактора vim.
Вы можете ввести команду, которую хотите выполнить, чтобы скопировать все файлы папки в другую папку. Например, если вы хотите скопировать все файлы в , /home/user/folder_name
вам /home/user/public
следует вставить эту команду в ваш crontab
файл:
rsync /home/user/folder_name -r /home/user/public
Это скопирует все файлы в желаемом интервале. Если вы хотите копировать все файлы в 21:30 каждый день, то ваша правка должна быть:
30 21 * * * rsync /home/user/folder_name -r /home/user/public
Для получения дополнительной информации окронтабсмотретьздесьили используйте man crontab
.