
Ubuntu日本語フォーラム

ログインしていません。
マインクラフトと言うゲームのサーバーを構築しようとして
サーバー起動には成功したのですが
ラグ回避の為にRAMディスク運用を行いたいと思いました
色々なサイトを調べて回り
各サイトに書いてある通りに行ってみましたが
上手く行きません
http://pokotsun.mydns.jp/?p=492
↑こちらのサイト様の通り
mkdir /ext_ram
mount -t tmpfs -o size=1024m /dev/shm /ext_ram
chmod 777 /ext_ram
を行うと
で1Gのフォルダが生産されました
これがRAMディスクでしょうか?
また
nano /etc/rc.local
でrc.localに
# RAMディスクを起動時にマウントする
mount -t tmpfs -o size=1024m /dev/shm /ext_ram
を書き込みましたが
再起動を行うとRAMディスク?のフォルダが消えています
なぜでしょうか?
僕はWindowsしか使った事がなく
Linuxに関しては全くわかりません
また、自分の技量ではCUIは無理だと判断し
GUI内の端末で行っています。
どなたか、教えてくださいませんか?
オフライン
その方法でRAMディスクは正しく作成できていると思います。
再起動時に自動的にマウントする方法ですが、
そちらの方法よりも /etc/fstab を使う方が一般的だと思われます。
検索すると色々と出てきますが、例えば
http://d.hatena.ne.jp/Johan511/20090410/1239467107
などを参考に設定してみてください。
オフライン
epii による投稿:
その方法でRAMディスクは正しく作成できていると思います。
再起動時に自動的にマウントする方法ですが、
そちらの方法よりも /etc/fstab を使う方が一般的だと思われます。
検索すると色々と出てきますが、例えば
http://d.hatena.ne.jp/Johan511/20090410/1239467107
などを参考に設定してみてください。
返信頂いたのにほったらかしにして申し訳ない
http://mypace75.blog92.fc2.com/blog-entry-186.html
↑の方法で出来たのですが
定期的(5分に1回)RAMディスク内の全データを
他の場所にコピーして
2日以上経った物は削除する
と言う風にしたいです。
どのようにすればいいでしょうか?
オフライン
Jyunki による投稿:
定期的(5分に1回)RAMディスク内の全データを
他の場所にコピーして
2日以上経った物は削除する
と言う風にしたいです。
どのようにすればいいでしょうか?
二つに分けてcronに登録します。
定期的(5分に1回)RAMディスク内の全データを他の場所にコピー
cp -a コピー元 コピー先
をcrontabで登録します。cpの代わりにrsyncでもいいでしょう。
2日以上経った物は削除する
find コピー元ディレクトリ -ctime +2 -exec rm {}\;
これも同じくcronに登録します。
オフライン
yama による投稿:
定期的(5分に1回)RAMディスク内の全データを他の場所にコピー
cp -a コピー元 コピー先
をcrontabで登録します。cpの代わりにrsyncでもいいでしょう。
2日以上経った物は削除する
find コピー元ディレクトリ -ctime +2 -exec rm {}\;
これも同じくcronに登録します。
バックアップ自体は行われるのですが
2度目のバックアップが実行された時に
1度目の物に上書き、と言う形になってしまいます。
バックアップは荒らし対策でもあるので
2日分5分置きに個別に保存したいです。
cp -a /コピー元/ /コピー先/`date +%m%d%H%M`
で個別に保存は出来るのですが
そうすると削除が上手く行きません
なぜでしょうか?
使用したシェルスクリプトは
cp -a /コピー元/ /コピー先/`date +%m%d%H%M`
find /コピー元/ -ctime +2 -exec rm {}\;
です、ひとまとめにしたのがいけないのでしょうか?
また、rsync方も出来ませんでした
よろしければこちらの確認もお願いいたします。
rsync -a /コピー元/ /コピー先/`date +%m%d%H%M`
rm -r /コピー先/`date +%m%d%H%M -d '2 days ago'`
こちらもひとまとめにしています
また、正常に作動するか確認の為cronには登録していません
原因の分かる方、ご指摘お願い致します。
オフライン
昔使用していたシェルスクリプトを手直ししたものです。
動作検証はしていません。
tar でバックアップを取ります。二日前のバックアップは削除します。
適当にバックアップ先や元を書き換えてください。
#!/bin/sh
#
# /etc/ Dir Backup Script.
#
# バックアップ先
BACKUP_DIR="/tmp/test/"
# バックアップ対象
TARGET_DIR="/etc"
DATE=`/bin/date '+%s'`
# 削除する日付
# n day ago
# n日前を指定(n世代管理)
DELETE_DAY=`/bin/date -d '2 day ago' +%s`
# バックアップ処理
/bin/tar zcf "${BACKUP_DIR}RAM_DISK_backup_${DATE}.tar.gz" $TARGET_DIR
ls $BACKUP_DIR | sed -E 's/RAM_DISK_backup_([0-9]{10})\.tar\.gz/\1/' | while read list
do
#ファイル名に「数字x10」が含まれている場合、
if [ "` expr "$list" : '.*_[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]\.tar\.gz'`" ] ; then
if [ $list -lt $DELETE_DAY ]; then
rm -fv "${BACKUP_DIR}RAM_DISK_backup_${list}.tar.gz"
fi
fi
doneオフライン
追記です。
実際の運用には rsync で5分毎にミラーリング。
一日一回上記シェルスクリプトでバックアップ。3週間前まで保管、あるいは3ヶ月前まで保管がいいかと思います。
オフライン
GUIツールの"Back In Time" なら要件を満たせます。
- 最短5分ごとにバックアップできる。
- 時間で世代管理もできる(X日より古いのは消す)。
- 残念な事に、UIの大部分が英語(一部日本語)。
- ググると、日本語による紹介ブログが2つ有り。なんとかなるでしょう。
みなさんご回答ありがとうございました
どうやらうまく出来たようです!!
まだまだ課題は沢山あるので、
また、問題の壁に当たった時はご教授下さい!!
オフライン
Jyunki による投稿:
みなさんご回答ありがとうございました
どうやらうまく出来たようです!!
まだまだ課題は沢山あるので、
また、問題の壁に当たった時はご教授下さい!!
結局、#5で困っていた状況が、どの案でどう解決したのでしょう・・・?
STGSAGWAN による投稿:
結局、#5で困っていた状況が、どの案でどう解決したのでしょう・・・?
cron登録していなかったのが原因でした
2日以上経過したものでは無く
ぴったり2日前の物を削除するらしく
端末で打ち込んでみると
(2日前の日付)そのようなディレクトリは存在しません
と表示されていました
(例:4/18 12;00なら
04181200と言うフォルダ名のバックアップが生産されて
04161200が削除される
仮に04151200が存在していても削除されない)
そのため、cronで何分置きなどで登録すると
きちんと削除される事を確認しました
オフライン