博采众长,精于一技。Live for love, work for dream.

修改/home的挂载点

昨天由于ubuntu的/分区空间紧张,决定把/home挂载到别的分区。
格式化分区步骤
首先可以查看设备
sudo fdisk –l
然后用命令
硬盘格式化
#危险!将第7个分区格式化为 ext4 分区
sudo mkfs.ext4 /dev/sda7

挂载步骤(root权限执行):
0. 挂载刚才格式化的分区。
1. init 1 -- 切换到单用户模式。
2. cp -ax /usr/* /mnt/tmp (tmp为新的/home分区)。 -- 拷贝现在/home下的内容到待切换的分区。
3. ls -l /dev/disk/by-uuid -- 查看分区的UUID。
4. 修改/etc/fstab中/home的挂载方式,挂接到新的/home分区。
5. mv /home /home.old -- 重命名现有的/home为/home.old, 为第6步做准备,重启动后可以删除之。
6. mkdir /home -- 创建新的/usr挂载点,启动时自动挂载/home分区到此处。
7. restart

livecd修复ubuntu启动

先用livecd启动,进入终端
sudo fdisk -l
对照着列出的分区,一一进行挂载。
sudo mount /dev/sda1 /mnt
这里的sda1是你的/所在的分区,根据自己实际情况修改
如果/boot单独挂载到一个分区,也挂载上;如果/boot没单独分区,这个就不需要。
sudo mount /dev/sda2 /mnt/boot
sda2是 /boot所在的分区,也是根据实际情况修改
然后挂载其他分区或设备 (不能漏掉,很重要)
sudo mount --bind /dev /mnt/dev
改变根目录
sudo chroot /mnt
重建grub.cfg
update-grub
安装GRUB2到指定硬盘的MBR
grub-install /dev/sda
然后重启,现在只能进入ubuntu(硬盘上的)。
再打开终端,运行
sudo update-grub2
现在就能恢复win7的启动项了。
如果还没有,那就用win7的盘先修复bcd,再重复上面所有步骤……

ubuntu mysql-server 无法删除解决办法

昨天升级系统的时候,报了一个错,一看是MySQL的问题,一怒之下把它删除了,谁知道它还不让删。
E Sub-process usr-bin-dpkg returned an error code 1 "mysql server 5.1 "
折腾几个回合之后无果,找到一绝招
sudo dpkg --remove --force-remove-reinstreq mysql-server
第一次执行卡住了,Ctrl+c中断它,然后再执行一次,彻底删除了。

VPS定期备份脚本

1. 定期备份网站代码和文件
脚本web.sh
#!/bin/bash
cd /home/wwwroot
date=`date -I`;
# backup website
/bin/tar -cjf ./backup/website_$date.tar.bz2 website
# romove old data
find ./backup -type f -mtime +7 -exec rm -f {} \

脚本原理:先进入备份目录;然后定义日期格式;按日器执行备份;删除旧的备份数据(7天前)。

2. 定期备份数据库
脚本db.sh
#!/bin/bash
cd /home/wwwroot/backup
date=`date -I`;
/usr/bin/mysqldump -u root --password=123456 website > website_$date.sql
/bin/gzip -9 website_$date.sql

上述脚本中-u后接数据库用户名, –password后接数据库密码,紧接着是数据库名,>后面是备份的目录。
gzip -9 是用最高的压缩率把导出的数据库进行压缩。

3. 定期执行任务
crontab -e
58 23 * * * /home/wwwroot/backup/web.sh
59 23 * * * /home/wwwroot/backup/db.sh

BTW.如果希望把压缩包发送到邮箱,可以使用mutt。
详情参考:http://www.hostloc.com/thread-15597-1-1.html

Ubuntu 10.04安装Sphinx

1.安装依赖
在此之前,请先确保你已经安装mysql-server,否则,请参考Ubuntu 10.04安装Nginx+PHP+MySQL的安装mysql部分
sudo apt-get install libmysqlclien/t-dev

2.安装Sphinx
Sphinx 0.9.9及以前的版本,原生不支持实时索引,一般的做法是通过主索引+增量索引的方式来实现“准实时”索引,最新的1.10.1(trunk中,尚未发布)终于支持real-time index,查看SVN中文档,我们很容易利用Sphinx搭建一个按需索引(on demand index)的全文检索系统。

参考文章:http://filiptepper.com/2010/05/27/real-time-indexing-and-searching-with-sphinx-1-10-1-dev.html
或者
利用Sphinx实现实时全文检索
2.1 首先,从sphinxsearch的SVN下载最新的代码,编译安装:
svn checkout http://sphinxsearch.googlecode.com/svn/trunk sphinx
cd sphinx/
./configure --prefix=/usr/local/sphinx --with-mysql
make
make install

继续阅读 »

返回顶部