Я новичок ... Я сразу скажу это. У меня есть простой сервер Ubuntu 20.04 LTS, используемый только как сервер Minecraft.
Кронтаб доставляет мне некоторые проблемы
*/10 * * * * screen -S minecraft -p 0 -X stuff "сохранить-все^M"
@reboot /home/minecraft/startserver.sh
@daily find /home/minecraft/backup/* -mtime +6 -type f -delete
@daily zip -9 -r --exclude=*backup* --exclude=*web* --exclude=*отчеты о сбоях* --exclude=*lost+found* /home/minecraft/backup/$(date + "%Y.%m.%d %I.%M %P").zip /home/minecraft
Первая строчка работает, а @daily и @reboot вообще не работают. ВСЕ команды работают из терминала без ошибок.
Пожалуйста, помогите мне понять это, у меня нет опыта работы с Linux, и я пытаюсь понять это. Я знаю, что некоторые люди могут подумать, что с этим лучше справиться с помощью systemd, но я слишком новичок, чтобы понять это, и я не хочу устанавливать скрипт, который я не могу восстановить.
Почему crontab не выполняет эти строки? Я не думаю, что это разрешения. Пожалуйста, помогите мне отладить это
Спасибо за ваше время
РЕДАКТИРОВАТЬ: ОК, после копания проблема со сценарием startserver была внутри самого сценария, а не в crontab. Я узнал, что мне нужно иметь -д
флаг для команды screen в crontab.
Команда zip работает, но я не могу понять, какой escape-код использовать для добавления пробелов в дату. резервная копия/$(дата +"\%Y.\%m.\%d \%I.\%M \%P").zip
Использование косой черты \
или используя " "
не работай. Если кто-нибудь знает, как избежать пробела при создании zip-файлов, сообщите мне.
В комментариях мне сказали использовать правильный формат для редактирования поста. Я не знаю, что это значит, это мой первый пост.