#!/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
Удаляйте эхо только в том случае, если вы протестировали сценарий, и сделайте резервную копию файлов перед первым использованием.
В вашей строке cron есть дополнительный *
, который интерпретируется как имя пользователя. Как только вы удалите его, он будет нормально выполнен.
также учтите, что если ваш Shell _script.sh не является исполняемым, вам нужно запустить с sh
(, если он написан на sh )или bash
, если он написан на bash.
0 7-23 * * * bash /home/folder1/folder2/Shell_script.sh > /dev/null 2>&1