我有兩個問題,這兩個問題在Linux終端都視爲Tar。爲了讓您知道我所看到的內容,我已經在下面發佈了一個指向我桌面圖像的鏈接。 http://worldofclucky.net/errors/ServerLag/desktop.png Linux Ubuntu 12.04 Desktop http://wocl.net/errors/ServerLag/desktop.png1LINUX終端 - Tar:未找到文件。跳過文件?
正如你可以在左上角的終端上看到的,有三條消息:
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服務器的區域文件,這些文件可以單獨使用。我主要關心的是,是跳過文件還是重做文件?如果它正在跳過文件,這可能是備份中的一個主要漏洞,因爲具有惡意目的的玩家可能會在備份時故意修改該區域,從而阻止備份。所以如果它跳過文件,我怎麼能重複它,而不必重做整個備份?
第三條消息指出它不能訪問文件home/clucky/MinecraftServers/.backups/Backup-08-January-2013-15:31.tar.gz但是,您可以在它下面的窗口中清楚地看到,該文件確實存在。我覺得這很奇怪,尤其是因爲如果您查看腳本,文件大小檢查會在備份發生很久之後發生在腳本末尾。
下面我已經發布了腳本,以便它可以由任何人試圖幫助我輕鬆地修改:
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
謝謝你在先進的協助,如果你需要更多的信息,請不要問。
這與Linux或終端無關。我修改了這個問題來表明這一點。 –