У меня есть эти файлы, [processName.DateTime.out]
/stev/log: ls -al
drwxrwxr-x 1 user.stev user 4096 Feb 5 23:59 .
drwxrwxr-x 1 user.stev user 4096 Feb 5 23:59 ..
-rw-rw-r-- 1 user.stev user 4096 Jan 21 23:59 AAA01.202002010000.out
-rw-rw-r-- 1 user.stev user 4096 Jan 22 23:59 AAA01.202002020000.out
-rw-rw-r-- 1 user.stev user 4096 Jan 23 23:59 AAA01.202002030000.out
-rw-rw-r-- 1 user.stev user 4096 Feb 1 23:59 BBB01.202002010000.out
-rw-rw-r-- 1 user.stev user 4096 Feb 2 23:59 BBB01.202002020000.out
-rw-rw-r-- 1 user.stev user 4096 Feb 3 23:59 BBB01.202002030000.out
-rw-rw-r-- 1 user.stev user 4096 Feb 1 23:59 DDD01.202002010000.out
-rw-rw-r-- 1 user.stev user 4096 Feb 2 23:59 DDD01.202002020000.out
-rw-rw-r-- 1 user.stev user 4096 Feb 3 23:59 DDD01.202002030000.out
-rw-rw-r-- 1 user.stev user 4096 Feb 1 23:59 TEST01.202002010000.out
-rw-rw-r-- 1 user.stev user 4096 Feb 2 23:59 TEST01.202002020000.out
-rw-rw-r-- 1 user.stev user 4096 Feb 3 23:59 TEST01.202002030000.out
-rw-rw-r-- 1 user.stev user 4096 Feb 1 23:59 TEST02.202002010000.out
-rw-rw-r-- 1 user.stev user 4096 Feb 2 23:59 TEST02.202002020000.out
-rw-rw-r-- 1 user.stev user 4096 Feb 3 23:59 TEST02.202002030000.out
-rw-rw-r-- 1 user.stev user 4096 Jan 21 23:59 TEST03.202002010000.out
-rw-rw-r-- 1 user.stev user 4096 Jan 22 23:59 TEST03.202002020000.out
-rw-rw-r-- 1 user.stev user 4096 Jan 23 23:59 TEST03.202002030000.out
И мой сценарий перемещает некоторые файлы в папку архива, если он был изменен до 7 дней.
sfind . -type f -mtime +7 -name "/stev/log" | while read FNAME
do
echo " moving file: " ${FNAME} >> /stev/archive/archiveLog.log
PCMD="mv ${FNAME} /stev/archive}"
echo "PCMD=${PCMD}" >> /stev/archive/archiveLog.log
eval "${PCMD}" >> /stev/archive/archiveLog.log
echo "" >> /stev/archive/archiveLog.log
done
этот скрипт перечислит файлы ниже и затем переместит их в папку архива [Текущая дата: 5 февраля]
-rw-rw-r-- 1 user.stev user 4096 Jan 21 23:59 AAA01.202002010000.out
-rw-rw-r-- 1 user.stev user 4096 Jan 22 23:59 AAA01.202002020000.out
-rw-rw-r-- 1 user.stev user 4096 Jan 23 23:59 AAA01.202002030000.out
-rw-rw-r-- 1 user.stev user 4096 Jan 21 23:59 TEST03.202002010000.out
-rw-rw-r-- 1 user.stev user 4096 Jan 22 23:59 TEST03.202002020000.out
-rw-rw-r-- 1 user.stev user 4096 Jan 23 23:59 TEST03.202002030000.out
Но дело в том, что я должен оставаться последними файлами для каждого процесса.
Например) Я могу перемещать файлы ниже
-rw-rw-r-- 1 user.stev user 4096 Jan 21 23:59 AAA01.202002010000.out
-rw-rw-r-- 1 user.stev user 4096 Jan 22 23:59 AAA01.202002020000.out
-rw-rw-r-- 1 user.stev user 4096 Jan 21 23:59 TEST03.202002010000.out
-rw-rw-r-- 1 user.stev user 4096 Jan 22 23:59 TEST03.202002020000.out
, но я должен оставаться ниже файлов (не имеет значения, сколько дней нужно go для последнего файла для каждого процесса. )
-rw-rw-r-- 1 user.stev user 4096 Jan 23 23:59 AAA01.202002030000.out
-rw-rw-r-- 1 user.stev user 4096 Jan 23 23:59 TEST03.202002030000.out
Есть ли хорошая идея для этой проблемы ??