![쉘 스크립트를 사용하여 특정 폴더에서 파일 삭제](https://linux55.com/image/8837/%EC%89%98%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC%20%ED%8A%B9%EC%A0%95%20%ED%8F%B4%EB%8D%94%EC%97%90%EC%84%9C%20%ED%8C%8C%EC%9D%BC%20%EC%82%AD%EC%A0%9C.png)
저는 Red Hat Enterprise Linux Server 버전 5.6(Tikanga)을 사용하고 있습니다. 특정 폴더의 파일을 삭제하는 쉘 스크립트를 작성했습니다.
find /app/psoft/pscfg/appserv/prcs/ABC/LOGS -type f -mtime +45 -exec ls {} \; >> "/app/Custom_Del_logs/prcslogs_`date +%Y%m%d_%H%M`.log"
find /app/psoft/pscfg/appserv/prcs/ABC/LOGS -type f -mtime +45 -exec rm {} \;
위 스크립트는 먼저 위 로그 파일에서 45일이 지난 모든 파일을 나열한 다음 해당 파일을 삭제합니다. 그러나 요구 사항은 나열된 문서에 날짜가 기재되어 있어야 한다는 것입니다. 그래서 우리는 그것을 쉽게 식별할 수 있습니다.
답변1
다음을 수행하십시오.
$ dir=/app/psoft/pscfg/appserv/prcs/ABC/LOGS
$ outdir=/app/Custom_Del_logs
$ find $dir -type f -mtime +45 -ls >> ${outdir}/prcslogs_$(date +%Y%m%d_%H%M).log
답변2
ls
명령을 다음 으로 바꾸면 stat -c "%n %y"
마지막으로 수정된 날짜 정보만 얻을 수 있습니다.