2013-01-08 2 views
0

두 가지 질문이 있는데 둘 다 Linux 터미널에서 Tar를 고려합니다. 내가보고있는 것에 대한 아이디어를주기 위해 아래 바탕 화면에 대한 링크를 게시했습니다. 당신은 왼쪽 상단 모서리에있는 터미널에서 볼 수 있듯이 http://worldofclucky.net/errors/ServerLag/desktop.png Linux Ubuntu 12.04 Desktop http://wocl.net/errors/ServerLag/desktop.png1LINUX 터미널 - 타르 : 파일을 찾을 수 없습니다. 파일 건너 뛰기?

이 세 가지 메시지가 있습니다 : 첫 번째 두 개의 메시지에

tar: ./Frisnuk/Frisnuk/region/r.0.0.mca: file changed as we read it 
tar: ./Frisnuk/server.log: file changed as we read it 
ls: cannot access home/clucky/MinecraftServers/.backups/Backup-08-January-2013-15:31.tar.gz: No such file or directory 

, 그것은 파일 때문에 읽을 수없는 상태 그것은 바뀌었다. 파일은 실행되는 동안 콘텐츠를 수정하는 서버가 있기 때문에 변경되었습니다. Minecraft 서버의 지역 파일이기 때문에 파일을 서로 별도로 사용할 수 있기 때문에 전체 백업에 문제가 없어야합니다. 내 주요 관심사는 파일을 건너 뛰는 것입니까, 아니면 다시 실행하는 것입니까? 파일을 건너 뛰는 경우 악의적 인 의도가있는 플레이어가 백업하는 동안 의도적으로 영역을 수정하여 백업하지 못하도록하기 때문에 백업에서 중요한 허점이 될 수 있습니다. 따라서 파일을 건너 뛰는 경우 전체 백업을 다시 수행 할 필요없이 어떻게 반복 할 수 있습니까? 31.tar.gz, 그러나, 당신은 할 수 있습니다 세 번째 메시지에

, 그것은 송파/MinecraftServers/.backups/백업 - 08 월-2013-15 /는 파일 집에 액세스 할 수 있다고 그 아래의 창에서 명확하게 볼 수 있듯이 파일이 존재합니다. 나는 이것이 매우 이상하다고 생각합니다. 특히, 스크립트를 보면, 파일 크기 검사는 백업이 끝난 후에도 스크립트가 끝날 때까지 계속됩니다.
timedate=`date '+%d-%B-%Y-%H:%M'` 
echo "-------------- $timedate --------------" >> /home/clucky/MinecraftServers/backup.log 
echo "[`date '+%H:%M'`] Starting Minecraft Backup" >> /home/clucky/MinecraftServers/backup.log 
nice --adjustment=19 tar -zcpf /home/clucky/MinecraftServers/.backups/Backup-$timedate.tar.gz \ 
    --directory /home/clucky/MinecraftServers/ \ 
    --exclude=SkyBlockkit \ 
    --exclude=Tekkit \ 
    --exclude=Vanilla \ 
    --exclude=test \ 
    --exclude=Zflocco_LP \ 
    --exclude=Mortuus/plugins/dynmap/web --exclude=Mortuus/plugins/AutoSaveWorld/backups --exclude Mortuus/CraftBukkitVersion --exclude=Mortuus/orebfuscator_cache --exclude=Mortuus/plugins/#Removed --exclude=Mortuus/server.log \ 
    --exclude=Frisnuk/plugins/dynmap/web --exclude=Frisnuk/plugins/AutoSaveWorld/backups --exclude Frisnuk/CraftBukkitVersion --exclude=Frisnuk/orebfuscator_cache --exclude=Frisnuk/plugins/#Removed --exclude=Frisnuk/plugins/#AwaitingUpdate--exclude=Frisnuk/server.log \ 
    --exclude=dailybackup.log \ 
    --exclude=.backups \ 
    --exclude=backup.log \ 
    --exclude=backups.log \ 
    --exclude=backupscript.sh \ 
    --exclude=dailybackup.sh . 
echo "[`date '+%H:%M'`] Finishing Minecraft Backup" >> /home/clucky/MinecraftServers/backup.log 
#Purge files 3 days old 
echo "[`date '+%H:%M'`] Purging Old Backups" >> /home/clucky/MinecraftServers/backup.log 
find /home/clucky/MinecraftServers/.backups* -mmin +4320 -exec rm {} \; 
echo "[`date '+%H:%M'`] Purging Complete" >> /home/clucky/MinecraftServers/backup.log 
#Read back file size 
filesize=$(ls -lah home/clucky/MinecraftServers/.backups/Backup-$timedate.tar.gz | awk '{ print $5}') 
echo "  Total Compression Size: $filesize\n" >> /home/clucky/MinecraftServers/backup.log 

당신의 지원을위한 고급에 감사합니다, 당신은 더 이상 정보를 필요로하는 경우, 질문 마십시오 : 쉽게 도와 시도하는 사람에 의해 수정 될 수 있도록 내가 스크립트를 게시 한 아래

.

filesize=$(ls -lah home/clucky/MinecraftServers/.backups/Backup-$timedate.tar.gz | awk '{ print $5}') 

그것이 있어야하지 : 디스크 공간이 문제가되지 않습니다

filesize=$(ls -lah /home/clucky/MinecraftServers/.backups/Backup-$timedate.tar.gz | awk '{ print $5}') 
+0

이것은 리눅스 나 터미널과 아무 관련이 없습니다. 나는 그것을 나타 내기 위해 질문을 수정했다. –

답변

3

난 당신이 행의가 '/'(home vs /home)가 놓친 생각 cp -ap /home/MinecraftServers /-sometemp-dir을 수행 한 다음 거기에서 백업하십시오.

복사 한 파일은 쓰기 작업이 없기 때문에 백업 중에 정적으로 유지됩니다. 라이브 데이터를 집계 할 때 일반적인 방법입니다.

+0

실제로 작동했습니다! 감사. 이제 질문의 첫 번째 부분에 건너 뛸 가능성에 관해서는 이것에 대해 아는 것이 있습니까? – Clucky

+0

tar 중에 파일이 변경되어 파일을 건너 뛰었습니까? 당신은 수동으로 타르의 내용을 확인할 수 있습니다. – jgr

+0

예. 타르에 존재합니다. 방금 확인했습니다. 하지만 그 손상되었거나 그렇지 않은 경우 궁금 ... – Clucky

1

경우, 당신은 할 수

관련 문제