使用したいバックアップスクリプトがあり、問題が発生しました。
#Setup Variables
DOMAIN=domainexample.com
FILENAME=${DOMAIN}.$(date +%Y%m%d)
DBSERVER=localhost
DATABASE=databasename
USER=mysqluser
PASS=mysqlpass
BACKUPSERVER=user@backupserverinfo:~
BACKUPSERVERPORT=22
# Dump Database for Backup
mysqldump --opt --user=${USER} --password=${PASS} ${DATABASE} > ${FILENAME}.sql
# GZIP the Database File
gzip -f ${FILENAME}.sql
# Make a TEMP DIR and Move the Backup to it for archival
mkdir /var/www/${DOMAIN}/db
cp $FILE.sql.gz /var/www/${DOMAIN}/db
# TAR & GZ domain directory to preserve database, files and images
tar -czvf ~/${FILENAME}.website.tar.gz /var/www/${DOMAIN}
# Remove TEMP DB DIR and Backup
rm -rf /var/www/${DOMAIN}/db
# Transfer backups to backup server
scp -P ${BACKUPSERVERPORT} ${FILENAME}.sql.gz ${FILENAME}.website.tar.gz ${BACKUPSERVER}
# Clear out old backups
rm -rf ~/backups/*
# Move files to temp directory
mv ${FILENAME}.sql.gz ~/backups
mv ${FILENAME}.website.tar.gz ~/backups
# Completed Messages
echo Completed!
私が経験している問題は、3 GBのRAMがあり、ハードドライブで利用可能なサイトスペースの10倍を超える場合でも、スクリプトがサーバーとクラッシュすることです。メモリ不足を示すhttpdエラーが発生し始めました。私は現地時間で午前4時にこのスクリプトを実行しましたが、ディレクトリサイズは画像とすべて5 GBに過ぎませんでした。私は何が間違っていましたか?
gzip圧縮後、実際のデータベースファイルはわずか4.5MBです。イメージを含むディレクトリは約5GBでなければなりませんが、ファイルは400Kにすぎません。なぜこれが起こるのかわかりません。
df -h 私がコマンドを実行する前に
Filesystem Size Used Avail Use% Mounted on
/dev/vda3 73G 11G 58G 16% /
tmpfs 1.5G 0 1.5G 0% /dev/shm
/dev/vda1 477M 194M 258M 43% /boot
ディレクトリのgzip圧縮中
Filesystem Size Used Avail Use% Mounted on
/dev/vda3 73G 15G 55G 21% /
tmpfs 1.5G 0 1.5G 0% /dev/shm
/dev/vda1 477M 194M 258M 43% /boot
free-hは
total used free shared buffers cached
Mem: 2.8G 2.0G 886M 268K 70M 825M
-/+ buffers/cache: 1.1G 1.7G
Swap: 1.0G 0B 1.0G
gzip中
total used free shared buffers cached
Mem: 2.8G 2.7G 74M 276K 42M 1.7G
-/+ buffers/cache: 1.0G 1.8G
Swap: 1.0G 132K 1.0G
記憶領域が不足しておらず、使用可能なメモリが74Mを下回ったことはありません。