Мне отсортировали мои файлы по дате для легкой работы с новыми файлами. У меня также есть набор журналов, перенаправленных к /dev/null
в моем корневом каталоге, который я хотел бы быть показанным в конце. Я пытался создать systemd сервис для этого, но он не работает так или иначе:
$ cat /etc/systemd/system/devnull1975.service
[Unit]
Description=Change /dev/null modification time to 1975
After=display-manager.target
[Service]
Type=oneshot
ExecStart=/usr/bin/touch -c -t 197501010000 /dev/null
[Install]
WantedBy=default.target
Это работает, если я запускаю его вручную, и это выполняется на перезагрузке. "после того, как менеджер по оформлению" похож на точку где /dev/null
был уже создан, но после того, как перезагружают его, все еще имеет текущую дату, stat
вывод. Так, кто-либо может видеть, какова проблема?
Во-первых,/dev/null является специальным файлом, не каталогом. Это - основная цель, должен обработать перенаправление stdout и stderr. Когда журналы перенаправляются к папке, они больше не существуют.
Некоторый ссылочный материал, Здесь
Относительно файлов в Вашем корневом каталоге это может лучше для переключения от прямой команды: /usr/bin/touch -c -t 197501010000 /dev/null
Кому:
/usr/local/bin/mynewscript.sh
Хотя использование Ваше собственное новое имя файла. Таким образом с Вашим любимым редактором создает новый файл, добавляет содержание, такое как: (Измените имена соответственно),
#!/bin/bash
/usr/bin/touch -m -t 197501010000 /home/username/.bzr.log
/usr/bin/touch -m -t 197501010000 /home/username/.xsessions-errors.old
/usr/bin/touch -m -t 197501010000 /home/username/.php_history
/usr/bin/touch -m -t 197501010000 /home/username/.recently-used
Набор выполняется на Вашем файле:
chmod 455 /usr/local/mynewscript.sh
Затем измените свой сервисный файл:/etc/systemd/system/devnull1975.service
[Unit]
Description=Changes modified times on log file locate /home/username/
After=graphical-session.target
[Service]
ExecStart=/bin/sh /usr/local/bin/mynewscript.sh
Type=oneshot
[Install]
WantedBy=multi-user.target
Alias=file-touch.service
Используйте следующее, чтобы проверить, что никакие ошибки не найдены с .service файлом
systemd-analyze verify /etc/systemd/system/devnull1975.service
Обратитесь к этой ссылке для получения дополнительной информации о systemd.