기본적으로 내가하고있는 일은/servers/폴더 내부의 모든 디렉토리를 가져 와서/media /에 마운트 된 보조 하드 드라이브로 옮깁니다. backupdrive /. 이 스크립트는 하루에 한 번 실행되므로 날짜 이름이있는 디렉토리가 만들어 지므로 폴더를 바로 위에 복사해야합니다 (이 방법으로해야하는 이유는 내 클라이언트가 주 하드 디스크 공간이 제한되어 있기 때문입니다 드라이브와 그의 세계는 각각 6-7gb 정도). 어쨌든, 나는 그 (것)들을/media/backupdrive/currentdate에 폴더를 베끼는 얻을 수있다, 그러나 그 때 그것을 압축하는 것을 시도 할 때, 빈 줄 또는 그 라인을 따라 무언가를 압축 할 수 없다. 이미지에 대한다른 디렉토리에있는 파일을 압축하는 데 문제가 있습니다.
#!bin/bash
folderName=$(date +"%m-%d-%y")
mkdir "/media/backupdrive/$folderName"
for i in servers/*; do
cp -rf $i /media/backupdrive/$folderName/
cd /media/backupdrive/$folderName/
tar -C ${i:8} -czvf "${i:8}.tar.gz"
cd /root/multicraft/
done
죄송합니다, 그것은 가상 머신에 있었고, 난 복사 및 붙여 넣기 할 수 없기 때문에 나는 그것을 다시 입력에 있었다 :
여기에 코드입니다.
아마도 나는 혼란 스럽지만 아마도'cp -rf servers/$ {i : 8}/... '는 어떻게 작동할까요? 여러분은'servers'의 각 서브 디렉토리에 대해 원래 이름의 하위 문자열 (8 번째 문자로 시작하는) 인 서브 디렉토리를 복사하려고한다고 말합니다. –
나는 단지 시험하고 있었다. 서버/$ {i : 8} /은 $ i와 동일합니다. 나는 단지 그것을 알아 차렸다. $ {i : 8}을 사용하여 디렉토리의 이름을 얻었습니다 (서버 /를 잘라 버릴 것입니다). – user2142183