wtmp файл является последовательностью struct utmp
записи. Для удаления последних 10 записей Вы сначала обнаруживаете размер записи utmp, затем Вы усекаете wtmp файл к его текущему размеру минус эти десять раз размер записи utmp.
Простая программа C даст Вам размер записи utmp.
#include <utmp.h>
#include <stdio.h>
struct utmp foo;
main()
{
printf("%lu\n", sizeof foo);
return 0;
}
и сценарий Perl усечет wtmp файл
$utmp_size = utmp_record_size_goes_here;
$wtmp_file = "wtmp filename goes here";
open WTMP, "+<", $wtmp_file or die "$wtmp_file: ", $!;
seek WTMP, -10 * $utmp_size, 2;
truncate WTMP, tell(WTMP);
close WTMP;
У Вас есть совершенно особая установка там.
По моему скромному мнению, среда подготовки не должна давать разработчикам доступ для записи.
Таким образом, существует две включенные роли:
Теперь phpadm должен смочь записать файлы, которые поставляет веб-сервер. Давайте создадим общую группу "www" с этой целью.
PHP-файлы принадлежат пользователю phpadm, группа www. Ваш веб-сервер работает как пользовательский апач, группа www. Статические файлы являются rw для phpadm и ro для www.
В том сценарии Ваш picco-крон должен получить www-группу, если Вы хотите выполнить резервные копии (т.е. читать) с ним.