Вот решение, с помощью которого я в итоге решил свою проблему:
while ! ip link show eth0 | grep -q 'state UP'; do
sleep 1
done
ip link add macvlan0 link eth0 type macvlan mode bridge
ip addr add 192.168.0.240/32 dev macvlan0
ip link set macvlan0 up
ip route add 192.168.0.240/28 dev macvlan0
Однако у меня было 2 запланированных задания «загрузка -вверх» на Synology, и я получал некоторые ошибки при загрузке -. Чтобы решить эту проблему, я настраиваю эту задачу так, чтобы другая была предварительной задачей -. Другими словами, задачи выполняются последовательно, ожидая завершения предыдущей задачи перед запуском новой.
Просто сбросьте галочки и укажите полный путь к интерпретатору Python:
if (( `~/cpu_usage.txt` < 60 )); then python /path/to/program/myfile.py 100; fi
Галочки не нужны, так как оболочка выполнит команду, следующую за ключевым словом then
, как задумано; тики запустят оболочку sub -, а результат/выход затем будет использоваться как команда для if-then
, а это не то, что вам здесь нужно:
> if true; then echo OK; fi
> OK
> if true; then `echo OK`; fi
> OK: command not found
Изменить :по моему опыту, если вы хотите использовать его с crontab, лучше всего, если вы поместите все свои команды в сценарий оболочки и вместо этого вызовете его из crontab.
Может быть, разбить его на
if (( $(vmstat 1 2|awk 'END{print 100-$15}') < 60 )); then
cd /path/to/my/program &&./python myfile.py 100
fi