Сценарий в/etc/init.d/не работает в Ubuntu 15.10

У меня есть сценарий, который просто echos текущее время и добавляет вывод в файл. Ниже сценарий удара.

#!/bin/bash
#Filename: /etc/init.d/bootlog
#Bash script to record a timestamp.
echo "Time: `date`" >> /home/foo/Documents/.boot_log
exit

Я хотел запустить этот скрипт каждый раз мой компьютер, загруженный к runlevel 2, таким образом, я поместил вышеупомянутый сценарий в /etc/init.d/ каталог с выполняет разрешение для root.

$ ls -l /etc/init.d/bootlog 
-rwx------ 1 root root 161 Jan 12 11:02 /etc/init.d/bootlog
$

Затем, я добавил необходимую символьную ссылку как ниже.

$ cd /etc/rc2.d/
$ sudo ln -s /etc/init.d/bootlog S06bootlog
$ sudo ls -l /etc/rc2.d/S06bootlog 
lrwxrwxrwx 1 root root 18 Jan 12 12:34 /etc/rc2.d/S06bootlog -> /etc/init.d/bootlog
$ 

После выполнения вышеупомянутых шагов я ожидал, что сценарий будет работать в моей следующей перезагрузке. Однако сценарий НЕ работает во время начальной загрузки. Я вижу это потому что .boot_log файл не создается.

$ cd /home/foo/Documents/
$ sudo ls -l -a .boot_log
ls: cannot access .boot_log: No such file or directory
$ 

Есть ли какой-либо шаг, который я пропустил? Или что-нибудь я сделал неправильно?

0
задан 12 January 2016 в 22:01

1 ответ

Да, Вы сделали что-то не так при поиске файла.

, Когда Вы работали cd /home/foo/Documents/ и затем ls -l -a .boot_log, Вы пытались найти что файл в /home/foo/Documents/ папка.

Однако Ваш сценарий хранит его в Вашем корневом каталоге (/home/foo/), согласно >> /home/foo/.boot_log. Попытайтесь работать ls -la .boot_log в /home/foo/, и файл должен обнаружиться.

1
ответ дан 29 September 2019 в 14:17

Другие вопросы по тегам:

Похожие вопросы: