Rsync и motion

Автор Обедающий философ, 31 марта 2012, 02:39:26

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Обедающий философ

Здравствуйте!

Имею сервер (debian squeeze) для видеонаблюдения, на нём motion. Имею желание копировать свежеиспечённые видеофайлы на удалённый компьютер, дабы ежели сервер украдут, улики бы не исчезли вместе с сервером. В конфиге motion есть соответствующая возможность - по окончании записи файла вызывать задаваемую пользователем команду. Казалось бы, решение у нас в кармане, однако не тут-то было.

Дабы rsync не спрашивал каждый раз пароль, люди советуют сделать ssh-keygen и ssh-copy-id. Только одно маленькое но - делать это надо из-под того пользователя, каковой будет впоследствии вызывать ssh. А демон motion, как оказалось, вызывается от имени пользователя motion. Ну я обрадовался, делаю sudo su motion - и здесь моя радость закончилась, ибо сия команда не возымела эффекта. Насколько я понял, это произошло оттого, что пользователь motion не имеет своей домашней папки.

Мне видятся следующие пути:

- Создать домашнюю папку пользователю motion. К сожалению, когда я просто создал соответствующую папку, это не возымело эффекта.

- Запускать демона от другого пользователя.

- Монтировать при запуске удалённую файловую систему (а при обрыве пытаться реконнектиться), тогда демону не нужно будет особых прав.

- Повесить rsync на cron, но в этом случае надо будет слишком часто его вызывать, чтобы не пропустить момент пополнения видеотеки (в итоговом варианте будет yota). Хотя, может быть, оно и к лучшему, ибо в противном случае длинный файл к моменту кражи сервера может даже не начать копироваться.

Что из этого лучше выбрать и что по этой теме читать? Или, может быть, существуют более лучшие варианты?

Заранее благодарен.

rayanAyar

А целевой сервер (на который сбрасываются копии записей) где находится? Связь с ним через интернет? Или он в локалке?
Собираюсь строить похожую систему. Сервера "разделены" интернетом, но связь между ними исключительно поверх защищенных каналов (OpenVPN), соответственно rsync собираюсь делать просто - без авторизации.

Оффтоп... Скажите пожалста, motion звук ведь не пишет? Как-то решена проблема с записью звука? Или он не нужен?

ihammers

Цитата: Обедающий философ от 31 марта 2012, 02:39:26
...
Дабы rsync не спрашивал каждый раз пароль, люди советуют сделать ssh-keygen и ssh-copy-id. Только одно маленькое но - делать это надо из-под того пользователя, каковой будет впоследствии вызывать ssh. А демон motion, как оказалось, вызывается от имени пользователя motion. Ну я обрадовался, делаю sudo su motion - и здесь моя радость закончилась, ибо сия команда не возымела эффекта. Насколько я понял, это произошло оттого, что пользователь motion не имеет своей домашней папки.
...
Покажите команду rsync, которую используете в конфигурационном файле.

Как пример посмотреть стоит статью, но на удалённой машине можно не создавать пользователя с таким-же именем, главное id_rsa.pub скинуть пользователю, которому собираетесь копировать файлы.
Debian GNU/Linux Bookworm, LXQt/OpenBox: AMD Ryzen 5 5600G / 64Gb RAM
_______________________________
Debian GNU/Linux Bookworm, без графики: AMD Phenon X4 / 16Gb RAM
_______________________________
Debian GNU/Linux Bookworm, LXQt/OpenBox: Acer Aspire One 722 AMD C60 / 8Gb RAM / ATI HD6290

Обедающий философ

#3
Цитата: ihammers от 31 марта 2012, 07:09:37Как пример посмотреть стоит статью

Премного благодарен! То, что доктор прописал. Правда, у меня ключ сгенерировался не в /var/spool, а в /home/motion.

Цитата: rayanAyar от 31 марта 2012, 04:48:21А целевой сервер (на который сбрасываются копии записей) где находится? Связь с ним через интернет? Или он в локалке?

Целевой находится у меня дома. Сейчас по локалке, а будет через интернет. Также ещё йоту не тестировал (сейчас вне досягаемости таковой), но что-то мне подсказывает, что там не будет ни белого айпи, ни даже серого.

Цитата: rayanAyar от 31 марта 2012, 04:48:21связь между ними исключительно поверх защищенных каналов (OpenVPN), соответственно rsync собираюсь делать просто - без авторизации.

Ежели я правильно понимаю, то openvpn - суть просто сеть, а файловую систему всё равно надо через что-то монтировать. Вы через что это делаете?

Цитата: rayanAyar от 31 марта 2012, 04:48:21Скажите пожалста, motion звук ведь не пишет?

К сожалению, ничего не могу сказать, ибо на эту тему как-то не задумывался. Лично меня больше интересует вопрос не о том, пишет ли звук motion (в крайнем случае можно повесить запись звука сторонней программой на соответствующие события), а можно ли заставить линух понимать звук с карточки видеозахвата (у меня orient hw-g400x).

Сообщение объединено: 31 марта 2012, 15:31:55

В общем не мудрствуя лукаво прописал rsync в cron под "своим" пользователем:

*/1 * * * * rsync -r /home/motion/ mason@192.168.1.111:~/

(пользователь mason - это специальный пользователь, заведённый под это дело) По идее так все зайцы убиваются - и видео копируется почти сразу после появления, и не надо думать, что будет, коли отключат интернет. Разве что остаётся вопрос, что будет, ежели один rsync ещё не закончит свою работу, а другой уже начнёт.

rayanAyar

Цитата: Обедающий философ от 31 марта 2012, 13:54:28Ежели я правильно понимаю, то openvpn - суть просто сеть, а файловую систему всё равно надо через что-то монтировать. Вы через что это делаете?
На целевой машине поднят демон протокола rsync - rsyncd. Без авторизации. Монтировать ничего не надо.

Обедающий философ

#5
Господа! Что вы думаете об zoneminder? Стоит ли его изучать?

Сообщение объединено: 02 апреля 2012, 20:19:42

А ещё хотелось бы разветвлять видео (то бишь чтобы можно было использовать камеру сразу из нескольких программ) и организовать онлайн-трансляцию (как я понял, motion не умеет multicast).