在我的服务器上,文件系统包括以下分区:
Filesystem Size Used Avail Use% Mounted on
/dev/sda6 4.6G 929M 3.5G 21% /
/dev/sda5 76M 20M 53M 27% /boot
/dev/sda8 449G 199M 426G 1% /home
/dev/sda7 4.6G 4.4G 0 100% /var
(输出自df -ah
)
我将网站和数据库存储在 下/var
,如您所见,它已满。该/home
文件夹仅包含基本用户目录,没有其他内容,因此我想对服务器进行重新分区,使其/dev/sda8
大约为 5GB,其余部分将归dev/sda7
。
通过命令行(即 SSH)执行此操作的最简单的方法是什么?
答案1
最简单的方法是切换,使 /home 位于 /dev/sda7 上,而 /var 位于 /dev/sda8 上
首先,您需要验证您的备份是否正常工作。如果没有良好的备份,您绝对不会做这样的事情。
关闭尽可能多的进程,并检查 /home 和 /var 是否空闲。
fuser/home
fuser /var
cd /home
tar czf /home.bak.gz .
tar tvfz /home.bak # make sure that the backup is good
pwd # make sure that you are in /home
rm -f *
cd /var
tar cf - . |(cd /home;tar xf -)
# check that /home now contains all your /var data
pwd # check that you're in /var
rm -r *
tar xvzf /home.bak.gz
# check that all the /home data is restored
gedit /etc/fstab #or your favourite editor and switch /home with /var
reboot
这将避免重新对磁盘进行分区。