Назад | Перейти на главную страницу

Блокирует ли SCP передаваемый файл?

Возьмем ситуацию, когда у нас есть журнал приложения, находящийся на сервере AIX. Журнал постоянно записывается из приложения, и у нас есть пользователи Windows, которые хотят просмотреть файл. Они использовали WinSCP для передачи файла на свой рабочий стол и открывали его с помощью текстового редактора.

Я думаю, что может происходить то, что scp блокирует файл на время передачи, и приложение перестает иметь возможность писать в файл. Я считаю, что это причина в том, что файл журнала перестанет расти в случайные моменты в течение дня.

Возможно, это то, что происходит?

Почему бы тебе не попробовать это. Начните scp'ing большого файла, затем запустите lsof /path/to/file на сервере AIX и посмотрите, что написано в столбце FD.

На странице руководства lsof:

   FD         is the File Descriptor number of the file or:
                   cwd  current working directory;
                   Lnn  library references (AIX);
                   err  FD information error (see NAME column);
                   jld  jail directory (FreeBSD);
                   ltx  shared library text (code and data);
                   Mxx  hex memory-mapped type number xx.
                   m86  DOS Merge mapped file;
                   mem  memory-mapped file;
                   mmap memory-mapped device;
                   pd   parent directory;
                   rtd  root directory;
                   tr   kernel trace file (OpenBSD);
                   txt  program text (code and data);
                   v86  VP/ix mapped file;
              FD is followed by one of these characters, describing the mode under which the file is open:
                   r for read access;
                   w for write access;
                   u for read and write access;
                   space if mode unknown and no lock
                        character follows;
                   `-' if mode unknown and lock
                        character follows.
              The mode character is followed by one of these lock characters, describing the type of lock applied to the file:
                   N for a Solaris NFS lock of unknown type;
                   r for read lock on part of the file;
                   R for a read lock on the entire file;
                   w for a write lock on part of the file;
                   W for a write lock on the entire file;
                   u for a read and write lock of any length;
                   U for a lock of unknown type;
                   x for an SCO OpenServer Xenix lock on part of the file;
                   X for an SCO OpenServer Xenix lock on the entire file;
                   space if there is no lock.
              See the LOCKS section for more information on the lock information character.
              The FD column contents constitutes a single field for parsing in post-processing scripts.

Если вы сделаете это, по крайней мере, в Linux, вы увидите, что столбец FD имеет значение «3r», что означает, что у него есть какая-то блокировка чтения, но я не уверен, что означает 3 перед ним.

Большинство программ Unix не используют запирание или когда они его используют, это не обязательно, поэтому я сомневаюсь, что блокировка останавливает рост вашего журнала. Скорее всего, передача SCP замедляет запись журнала.