2 つの質問があります。どちらも Linux ターミナルの Tar に関するものです。私が見ているものを理解していただくために、私のデスクトップの画像へのリンクを以下に掲載しました。 http://worldofclucky.net/errors/ServerLag/desktop.png Linux Ubuntu 12.04 デスクトップ http://wocl.net/errors/ServerLag/desktop.png 1
端末の左上隅に表示されるように、次の 3 つのメッセージがあります。
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
最初の 2 つのメッセージでは、ファイルが変更されたため、ファイルを読み取れないことが示されています。実行中にコンテンツを変更するサーバーがあるため、ファイルが変更されました。これらは Minecraft サーバーの領域ファイルであるため、ファイルは互いに個別に使用できるため、全体的なバックアップには問題ありません。私の主な懸念は、ファイルをスキップしているのか、それともやり直しているのかということです。ファイルをスキップしている場合、これはバックアップの主要な抜け穴である可能性があります。これは、悪意のあるプレイヤーがバックアップ中にリージョンを意図的に変更し、バックアップを妨げる可能性があるためです。ファイルをスキップしている場合、バックアップ全体をやり直すことなく、どうすればそれを繰り返すことができますか?
3 番目のメッセージでは、ファイル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
ご支援いただきありがとうございます。さらに情報が必要な場合は、お問い合わせください。