Почему 'cat useradd' успешно работает в этом случае?

Если он только добавляется к (а не изменяется в середине), вы можете просто запустить tail -f на нем. Он должен дождаться любых новых добавленных данных и распечатать их, и вы можете указать ему, с какой позиции начинать:

tail -c 0 -f datafile        # start at the current file end
tail -c +123 -f datafile     # start at byte 123 

Чтобы фактически переместить данные куда-нибудь, должен работать конвейер до ssh :

Итак если на удаленном конце уже есть первые 123456 байтов:

tail -c +123456 -f datafile | ssh user@somehost 'cat >> datafile.copy'

(Хотя, конечно, вам нужно проверить размер файла на удаленном компьютере перед запуском конвейера.)


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

4
17.06.2016, 23:19
2 ответа

Permissions

На изображении показано, что «другая» группа имеет разрешения на чтение; если вы попытаетесь добавить echo testline >> useradd или выполнить ./ useradd , это даст вам отказ в разрешении. Если вы хотите удалить разрешения на чтение для «других» пользователей, вы можете использовать sudo chmod или useradd

15
27.01.2020, 20:44

Я считаю, что это потому, что разрешение на файл useradd установлено на rw-r - r - , что дает всем пользователям доступ на чтение.

7
27.01.2020, 20:44

Теги

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