Команда rsync не работает при запуске в качестве службы systemd

Будет ли время сборки -равно тому, что необходимо для сборки программного обеспечения, либо в библиотеках (для построения GTK "hello world"? вам нужна libgtk -dev или что-то еще для включения, а затем libgtk libs как время запуска -тоже )ИЛИ в утилитах, т.е. вам нужен какой-то определенный синтаксический анализатор/генератор/утилита, установленная, которая вызывается во время настройки/сборки процесс, например пакетыncurses-dev, когда вы хотите использовать make menuconfigдля настройки ядра Linux.

Могу поспорить, что после того, как вы установите build-essentialпакет, БОЛЬШИНСТВО ваших зависимостей времени сборки -будет в виде различных исходных файлов, в основном заголовков/включений для использования различных библиотек в дополнение к стандартным C (++ )библиотечный материал.

1
01.02.2020, 04:30
1 ответ

Кажется, я понял это самостоятельно, прочитав руководство по службам systemd(man systemd.service). Параметр ExecStart=не поддерживает напрямую командные строки оболочки, поэтому я думаю, что расширение скобок не выполнялось должным образом. Я заставил все работать, передав свою команду rsyncна sh -cв строке ExecStart=:

ExecStart=sh -c 'rsync -a --exclude={/dir_a,/dir_b} /home/trevor/test_dir/ /my_ssd/test_dir/'

ссылка:

$ man systemd.service
...
       Note that shell command lines are not directly supported. If shell
       command lines are to be used, they need to be passed explicitly to a
       shell implementation of some kind. Example:

           ExecStart=sh -c 'dmesg | tac'
...
3
28.04.2021, 23:24

Теги

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