좋아, 우분투를 처음 사용합니다. 30 일 이내에 업데이트되지 않은 파일을 보관하고 보관해야하는 200,000 개의 파일이 있습니다.복사 및 삭제
find . -type f -mtime +30
완료.
그렇다면 현재 디렉토리 구조를 유지하면서 위치에 파일을 복사해야합니다. 이것은 파일 구조가 각 파일의 고유성의 일부이기 때문에 가능합니다. sum이라는 파일이 200 개있을 수 있지만 FunRun/Sum과 Smoke/Sum은 서로 다른 두 가지입니다.
find . -type f -mtime +30 -exec cp --parents '{}' /home/me/backup \;
완료. 하지만 그것들은 삭제되지 않습니다 ... 음 mv는 삭제가있는 cp입니다. 그러나 MV에는 - 부모 전환이 없습니다.
그래서 나는find . -type f -mtime +30 -exec cp --parents '{}' /home/me/backup \; && rm
for file in 'find . -type f -mtime +30' do sudo cp $file --parents '{}' /home/me/backup \; && sudo rm $file; done
없음 이동
을 시도했다. 그래서 나는 파일 목록을 만들고 오래된 학교 배치 파일처럼 사용하고 있었다. 문제는 목록을 만드는 데 오랜 시간이 걸리므로이 과정을 자동화하고 싶습니다. 그래서 나는 수색 한 아무것도 작동 한 아무것도 시험하지 않았다. 따라서 한 줄짜리 bash 스크립트는 잃어버린 원인이며 파이썬 스크립트를 작성해야합니다. 그렇지 않으면 여러분이 도울 수 있습니다. 그래서 나는 여기서 물어볼 것이고 그것이 주말에 어떻게 이루어지고 월요일에 시험되는지 보았습니다.도움 주셔서 감사합니다.
마지막 두 개의 명령을 "그래서 시도"인가요? 첫 번째 문장에서 'rm'에 대한 논의는 어디서 시작될 것으로 예상됩니까? 왜 당신은 두 번째 것에'sudo'를 추가 했습니까? 'for'에';'또는 개행 문자는 어디에 있습니까? ''{} '이 두 번째 줄에서 오는 것을 어디에서 기대할 수 있으며,'$ file'을 이미 가지고 있다면 왜 거기에서 원하는 것이 있습니까? (또한, 아무데도 따옴표가없는 이유는 무엇입니까?) – abarnert
예, 두 개의 별도 명령이었습니다. 주위를 복사하려고 할 때 루트 수준 액세스 오류가 필요하기 때문에 sudo를 추가했습니다. 남은만큼 배우려고 노력 중이며 테스트 서버에서 작동하도록 노력하고 있습니다. – user1519219