"USB-устройство" обычно содержит немного (окна) файловая система FAT, которая не знает о пользователях и полномочиях. При перемещении файла от Вас корневой каталог к тому USB-устройству файл освободит всю информацию о владельце и исправит полномочия. При копировании его назад в корневой каталог, этому дадут некоторого "случайного" владельца и разрешение. Файлы, вероятно, принадлежат корню теперь.
Один способ задержать все восстанавливает Ваше последнее резервное копирование. - если у Вас есть тот.
Кроме того, можно зафиксировать его вручную. Необходимо смочь зафиксировать владельца с sudo chown -R $USER /home/$USER/
. Этого должно уже быть достаточно для входа в систему снова.
Затем существуют, вероятно, все еще ошибочные permissons. (Много из x
при выполнении ls -l
.) Можно использовать chmod
зафиксировать их. Лучшая вещь, которую можно, вероятно, сделать, find ~ -type f -exec chmod a-x {} \;
исправить большинство полномочий.
Если вы используете join :
$ join -t, -a 1 -a 2 -j 1 -e ' NA' -o auto file1 file2
123, 234, abc
345, 789, dnc
678, 900, NA
-121--166984- Проверьте наличие файлов: /etc/logrotate.d
Если это так, удалите все файлы, относящиеся к тому, что вы не хотите вращать. Но будьте осторожны с удаляемыми файлами, убедитесь, что у вас есть метод очистки файлов для всех файлов, которые вращаются с logrotate, иначе вы рискуете пробудить один день и не понять, как ваша файловая система закончилась дисковое пространство.
Обновление
Несколько файлов можно указать в одном файле в каталоге logrotate.d
, например файл syslog
. Это также происходит в том месте, где должен быть указан журнал сообщений
, о котором вы упомянули.
/etc/logrotate.d/syslog
/var/log/messages
/var/log/secure
/var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron {
sharedscripts
postrotate
/bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
/bin/kill -HUP `cat /var/run/rsyslogd.pid 2> /dev/null` 2> /dev/null || true
endscript
}
Update # 2
Эта команда используется для проверки того, что происходит при повороте файлов журнала - syslog, а не logrotate:
grep -rni "message" /etc/cron.*/*
В системах Debian со вкусом syslog ротация может управляться ежедневным скриптом cron, который обычно находится в /etc/cron.daily/sysklogd
Моя команда grep должна помочь определить, верно ли это в вашем случае (даже если вы находитесь на RHEL).
Дополнительную информацию можно найти здесь: http://www.ducea.com/2006/06/06/rotating-linux-log-files-part-1-syslog/
Также проверьте: grep -rni «message »/etc/rsyslog.d/*
Если я правильно вас понимаю, вы ищете решение, как предложено здесь . Таким образом, как предложено в этом ответе, я хотел бы увидеть, есть ли опция, использующая exec
. Итак, когда я сделал google поиск linux добавить с помощью дескриптора файла , я получил этот ответ от пользователя Gilles .
Суть его ответа заключается в том, что, по-моему, вы ищете.
exec 5>/tmp/foo # open /tmp/foo for writing, on fd 5
while true; do #
echo "Hello" >&5 # write to fd 5, i.e. /tmp/foo
done #
Что касается максимального времени, в течение которого дескриптор файла может оставаться открытым, я полагаю, что пока цикл завершается, он останется открытым, так как мы не закрываем дескриптор файла здесь. Вы можете найти больше информации об ответе, с которым я связался.