Что может быть причиной получения "execute permission denied" в cronjob в UNIX?

#!/bin/bash

workdir="/tmp/myfilestomove"
#cd "$workdir"
[ ! -e "$workdir" ] && exit 

find -type f "$workdir" | grep -v '.gz' | while read file; do
     filedate="$(date -r "$file" +%d%m%Y)"
     basename="${file%.*}"
     extension="${file##*.}"
     echo mv "$file" "${basename}.${filedate}.${extension}" 
     echo gzip "${basename}.${filedate}.${extension}"
done


find -type f -mtime +10 "$workdir" | while read file; do
     echo rm "$file"
done

Удаляйте эхо только в том случае, если вы протестировали сценарий, и сделайте резервную копию файлов перед первым использованием.

1
30.08.2018, 09:12
1 ответ

В вашей строке cron есть дополнительный *, который интерпретируется как имя пользователя. Как только вы удалите его, он будет нормально выполнен.

также учтите, что если ваш Shell _script.sh не является исполняемым, вам нужно запустить с sh(, если он написан на sh )или bash, если он написан на bash.

0 7-23 * * * bash /home/folder1/folder2/Shell_script.sh > /dev/null 2>&1
2
28.04.2021, 23:42

Теги

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