Для приложения ASP.NET, если Вы устанавливаете олицетворение = "верный" затем, что оно выполнит при аутентифицируемом пользователе для 'большинства' вещи. Так, если у Вас будет он запрашивающий имя пользователя/пароль на веб-приложении, то те учетные данные передадут до веб-сервиса, если олицетворение будет включено.
Однако Вы собираетесь столкнуться с тем, что называют 'двойной проблемой транзитного участка'. Автор Windows целеустремленно не позволяет учетным данным проходить через 2 транзитных участка как этот. Вот сообщение в блоге, которое покрывает возможные решения: http://weblogs.asp.net/owscott/archive/2008/08/22/iis-windows-authentication-and-the-double-hop-issue.aspx
Это, вероятно, потому что даже при том, что Вы усекаете файл, процесс, пишущий в файл, продолжит писать в том, какой бы ни смещенный это было наконец. Таким образом, то, что происходит, - то, что logrotate усекает файл, размер является нулем, процесс пишет в файл снова, продолжаясь при смещении, которое он бросил, и у Вас теперь есть файл с ПУСТЫМИ байтами до такой степени, когда Вы усеченный это плюс новые записи, записанные в журнал.
отравитесь большой дозой наркотика-c после усеченный + внезапный рост, сгенерированный вывод вроде:
0000000 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0
*
33255657600 \0 C K B - s e r v e r [ h t t
33255657620 <more log output>
То, что это говорит, от смещения от 0 до 33255657600 Ваших файлов, состоит из пустых байтов и затем некоторых четких данных. Получение к этому состоянию не занимает то же количество времени, которое оно взяло бы для фактической записи всех тех пустых байтов. Расширение {2,3,4} файловые системы поддерживают что-то названное редкими файлами, поэтому если Вы будете искать мимо региона файла, который ничего не содержит, то тот регион, как будет предполагаться, будет содержать пустые байты и не займет место на диске. Те пустые байты не будут на самом деле записаны, просто, как предположат, будут там, следовательно время, которое требуется для движения в 0 - 3.5 ГБ, не занимает много времени к. (Можно протестировать количество времени, которое это занимает путем выполнения чего-то как dd if=${HOME}/.bashrc of=largefile.bin seek=3432343264 bs=1
, это должно генерировать файл более чем 3 ГБ в нескольких миллисекундах).
Если Вы работаете ls -ls
на Ваших файлах журнала после того, как они были усеченными и имели внезапный рост снова, он должен теперь сообщить о числе в начале строки, которая представляет фактический размер (в блоках, занятых на диске), который, вероятно, является порядками величины, меньшими, чем размер, о котором сообщают просто ls -l
.
Я чрезвычайно уверен, что Kjetil поразил его. Потянул, Вы еще не можете быть убеждены его объяснением, но я убеждаю Вас считать тщательно, что он сказан.
При принятии его фиксация должна или остановить и перезапустить приложение, когда журналы повернуты или используют инструмент как "rotatelogs" апача, где Вы подаете вывод журнала к инструменту через канал, и инструмент заботится о вращении файла журнала время от времени. Например, один из моих апачских экземпляров регистрируется с
ErrorLog "|/usr/sbin/rotatelogs /www/logs/error_log 604800"
который вызывает много файлов журнала с именами как
-rw-r--r-- 1 root root 4078 Dec 21 01:04 error_log.1292457600
-rw-r--r-- 1 root root 4472 Dec 29 08:41 error_log.1293062400
-rw-r--r-- 1 root root 78630 Jan 4 12:57 error_log.1293667200
-rw-r--r-- 1 root root 15753 Jan 12 01:10 error_log.1294272000
появиться, не перезапуская апача; я могу затем сжать их вручную после факта. Отметьте, как вращение делается каждую неделю, который является каждые 604800 секунд, при этом тот аргумент, переданный rotatelogs
.
Если Вы не можете остановить и перезапустить приложение, и оно не может зарегистрироваться через канал, то я думаю, что у Вас есть настоящая проблема. Возможно, у других будут предложения.
было бы действительно замечательно, если Вы могли бы отправить целый logrotate.
Почему попытка использовать уничтожает - ПОНУКАЮТ? (Классическая перезагрузка, не перезапускающая) метод.
Также... сверьтесь lsof
кто получает доступ к файлу.
Просто используйте ">>", что означает добавление, а не ">", что означает создание из ваших сценариев, которые записывают в этот файл. У меня была точно такая же проблема, и я исправил ее с помощью добавления в моем скрипте.
SomeScript.sh >> output.txt
Надеюсь, что это понятнее.