И вместо того, чтобы качать права, достаточно просто спросить
Я прошу прошения, но ведь я именно это и делаю - просто спрашиваю. При и не единожды писал про свой полностью нулевой уровень знаний. Вы же отвечаете намёками, вместо того, что бы просто помочь и объяснить. Лениво/недостойно Вас - так тогда вообще не стоит писать. Или у Вас такой способ самоутвердиться?
И, да, есть принципиальная разница между моим и вашим скриптом, я её озвучил ранее.
Вы много чего озвучили, простите но именно этот момент я не уловил (возможно не понял просто) будьте добры повторится и, по возможности подробнее (или с примером) в чем разница в скриптах?
Пользователь добавил сообщение 11 Ноября 2019, 04:22:50:
Друзья, а появилась у меня ещё одна "хотелка": складывать логи по дням в папки.
Попробовал по аналогии с виндой - не выходит - не хочет linux создавать не существующую папку.
igor@nas:~$ /home/igor/onedrive/onedrive --synchronize >> "/home/igor/log/"`date +"%F"`"/`date +"%F-%T"`.log" 2>&1
-bash: "/home/igor/log/"`date +"%F"`"/`date +"%F-%T"`.log": Нет такого файла или каталога
Подскажитие пожалуйста, как всё же правильно модифицировать скрипт, что бы при запуске создавалась папка текщеё даты и в неё складывались файлы.
Попробовал вот так:
#!/bin/sh
exec >> /dev/null
mkdir "/home/igor/log/`date +"%F"`"
/home/igor/onedrive/onedrive --synchronize >> "/home/igor/log/`date +"%F"`/`date +"%F-%T"`.log" 2>&1
Вроде работает, но каждые последующие запуски вызывают ошибку
mkdir: невозможно создать каталог «/home/igor/log/2019-11-11»: Файл существует
которая вроде как на работу не влияет, но всё же ошибка...
Я понимаю, сто перед созданием необходимо проверять наличие папки. Но вот как это сделать?
Пользователь добавил сообщение 11 Ноября 2019, 05:02:34:
Пока придумал следующее:
#!/bin/sh
if [ -d /home/igor/log/`date +"%F"` ];
then
/home/igor/onedrive/onedrive --synchronize >> "/home/igor/log/`date +"%F"`/`date +"%F-%T"`.log" 2>&1;
else
mkdir "/home/igor/log/`date +"%F"`";
/home/igor/onedrive/onedrive --synchronize >> "/home/igor/log/`date +"%F"`/`date +"%F-%T"`.log" 2>&1;
fi
Заодно разобрался что такое
exec >> /dev/null
в моём предыдущем посте - решил его убрать.