Синхронизация каталогов
Модераторы: SLEDopit, Модераторы разделов
-
zkrvova
- Сообщения: 280
Синхронизация каталогов
Есть такая задача, нужно с http сервера забирать файлы и ложить к себе в локальный каталог. Какие файлы заранее не известно, т.е. нужно синхронизировать свой каталог с удалённым.
Как этого добиться?
Как этого добиться?
-
INF[SZ]
- Сообщения: 395
- ОС: Centos
-
Хрюндель
- Сообщения: 304
- ОС: Сам не знаю
Re: Синхронизация каталогов
rsync однозначно. Если хочишь всё это дело в cron засунуть то придётся ssh ключик без pass phrase генерировать, иначе оно само не будет логиниться.
-
zkrvova
- Сообщения: 280
Re: Синхронизация каталогов
а зачем ключик? на сервер доступ без парольный, обычный.
-
Хрюндель
- Сообщения: 304
- ОС: Сам не знаю
Re: Синхронизация каталогов
А обычный это какой? Я думал обычный это Юзер+Пароль..
-
zkrvova
- Сообщения: 280
Re: Синхронизация каталогов
Вот попробовал так:
wget -r -l10 -k http://www.nogliki.com/updates/nod/ -np
но скачивает список файлов в index.html. А сами файлы качать не хочет.
Как заставить качать сами файлы?
wget -r -l10 -k http://www.nogliki.com/updates/nod/ -np
но скачивает список файлов в index.html. А сами файлы качать не хочет.
Как заставить качать сами файлы?
-
elide
- Бывший модератор
- Сообщения: 2421
- Статус: Übermensch
- ОС: лялих
Re: Синхронизация каталогов
ну ты умен.... тебе в robots.txt серым по белому написано "Disallow: /updates/"
низзя, значит, качать...
низзя, значит, качать...
слава роботам!
-
xnu!l
- Сообщения: 632
- Статус: Linux Gangster 4 Life
- ОС: openSUSE 11
-
Demonas666
- Сообщения: 25
- ОС: Debian GNU/Linux
Re: Синхронизация каталогов
А как можно синхронизировать две папки в пределах одного компьютера? Задача состоит в создании бэкапа нескольких папок на втором винчестере. Папки довольно объемные, поэтому хотелось бы копировать только те файлы, которые изменились. Вобщен, нужен аналог
lftp mirror
но для двух локальных папок.
lftp mirror
но для двух локальных папок.
-
Goodvin
- Ведущий рубрики
- Сообщения: 4333
- Статус: ⚝⚠⚒⚑⚖☭☞☣☤&
Re: Синхронизация каталогов
man rsyncDemonas666 писал(а): ↑18.02.2010 13:23А как можно синхронизировать две папки в пределах одного компьютера? Задача состоит в создании бэкапа нескольких папок на втором винчестере. Папки довольно объемные, поэтому хотелось бы копировать только те файлы, которые изменились. Вобщен, нужен аналог
lftp mirror
но для двух локальных папок.
-
Demonas666
- Сообщения: 25
- ОС: Debian GNU/Linux
-
Goodvin
- Ведущий рубрики
- Сообщения: 4333
- Статус: ⚝⚠⚒⚑⚖☭☞☣☤&
Re: Синхронизация каталогов
Вы хотите чтобыDemonas666 писал(а): ↑18.02.2010 18:09
А его можно запускать без демона? Не хочется, чтобы крутился всё время, или каждый раз стартовать/останавливать.
Код: Выделить всё
man rsyncЭто можно.
100$ в час, вслух и с выражением, дикция поставлена.
Возможно чтение по телефону, тариф поминутный.
Считайте. Чем rsync сложен?Demonas666 писал(а): ↑18.02.2010 18:09Считаю, что в пределах одного компьютера rsync - это костыль. Разве нет чего попроще?
Тем, что Вы не желаете читать man?
-
Flaming
- Сообщения: 2579
Re: Синхронизация каталогов
Demonas666 писал(а): ↑18.02.2010 18:09Считаю, что в пределах одного компьютера rsync - это костыль. Разве нет чего попроще?
А что может быть проще? =)
Ну, разве rm, потом cp. Но согласитесь, что это медленнее.
rsync именно и придуман, что для вашей задачи.
-
yurkats
- Сообщения: 70
- ОС: Fedora
Re: Синхронизация каталогов
Использование rsync в варианте на одном компе:
rsync -avpo --progress --no-p --no-g --no-o --log-file='/var/log/rsyncd.log' /var/source-dir/ /var/dst-dir/
Использование rsync в варианте сервер-клиент:
на сервере создется файл
/etc/rsyncd.conf
***************
log file = /var/log/rsyncd.log
transfer logging = /var/log/rsync-transfer.log
[source_dir_xxx]
comment = Source Dir
path = /var/source
list = yes
host allow = 192.168.1.2
uid = root
gid = root
[source_dir_yyy]
comment = Source Dir 2
path = /var/source-hard-xxx/
list = yes
host allow = 192.168.1.2
uid = root
gid = root
***************
Серверная часть запускается тока в процессе запроса синхронизации, через xinetd
для этого /etc/xinetd.d/rsync установить "disable" в "no"
На клиенте
rsync -avpoz --progress --no-p --no-g --no-o --log-file='/var/log/rsyncd.log' root@192.168.1.1::source_dir_xxx /var/dst-dir-xxx/
или
rsync -avpoz --progress --no-p --no-g --no-o --log-file='/var/log/rsyncd.log' root@192.168.1.1::source_dir_yyy/hard/ /var/dst-dir-yyy/
В Fedore 12 всё работает
rsync -avpo --progress --no-p --no-g --no-o --log-file='/var/log/rsyncd.log' /var/source-dir/ /var/dst-dir/
Использование rsync в варианте сервер-клиент:
на сервере создется файл
/etc/rsyncd.conf
***************
log file = /var/log/rsyncd.log
transfer logging = /var/log/rsync-transfer.log
[source_dir_xxx]
comment = Source Dir
path = /var/source
list = yes
host allow = 192.168.1.2
uid = root
gid = root
[source_dir_yyy]
comment = Source Dir 2
path = /var/source-hard-xxx/
list = yes
host allow = 192.168.1.2
uid = root
gid = root
***************
Серверная часть запускается тока в процессе запроса синхронизации, через xinetd
для этого /etc/xinetd.d/rsync установить "disable" в "no"
На клиенте
rsync -avpoz --progress --no-p --no-g --no-o --log-file='/var/log/rsyncd.log' root@192.168.1.1::source_dir_xxx /var/dst-dir-xxx/
или
rsync -avpoz --progress --no-p --no-g --no-o --log-file='/var/log/rsyncd.log' root@192.168.1.1::source_dir_yyy/hard/ /var/dst-dir-yyy/
В Fedore 12 всё работает