• 博客园logo
  • 会员
  • 周边
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
一杯Java不加糖
博客园    首页    新随笔    联系   管理    订阅  订阅
将用户数据迁移到服务器机械硬盘

目录:

类型一:在服务器上已有数据,进行数据迁移

类型二:在服务器上没有数据,需要使用U盘进行传输

常见问题

由于固态硬盘的内存相对较小,如果说用户的数据集过大,可能会出现磁盘爆满的情况,如果说服务器上装有机械硬盘,可以考虑将用户数据集移动到机械硬盘中去。

 

类型一:在服务器上已有数据,进行数据迁移

步骤 1:确保机械硬盘已经挂载

首先,你需要确保机械硬盘已经挂载到系统。如果硬盘还没有挂载,可以通过以下步骤进行手动挂载。

  1. 查看硬盘设备
使用 lsblk 命令查看系统中的所有硬盘设备:

lsblk

注意:其中sda1是机械硬盘的分区,挂载在/mnt/hdd下面,如果后面没有出现挂载路径,则说明硬盘没有挂载。

  2.如果硬盘没有挂载,进行手动挂载

一般机械硬盘分区是/dev/sda1,使用以下命令将其挂载到 /mnt/hdd 目录(需要在有管理员权限的用户下才能实现这个操作,不然会提示管理员权限不够):

sudo mkdir -p /mnt/hdd          # 创建挂载路径文件夹
sudo mount /dev/sda1 /mnt/hdd   # 挂载硬盘

  3. 设置开机自动挂载

为了确保机械硬盘在每次系统启动时自动挂载,你需要编辑 /etc/fstab 文件:

sudo nano /etc/fstab

在文件末尾添加如下行:

/dev/sda1 /mnt/hdd ext4 defaults 0 2

注:ext4 是文件系统类型,请根据硬盘实际的文件系统(如 ext4, xfs 等)进行调整。(我是用的是ext4)

步骤 2:将用户主目录迁移到机械硬盘

现在,你可以将用户的主目录中需要迁移的数据迁移到机械硬盘上。

  1.创建用户的目录

在机械硬盘的挂载点(如 /mnt/hdd)下为用户创建一个新的主目录。例如,为用户 john 创建主目录:

sudo mkdir /mnt/hdd/john
sudo chown john:john /mnt/hdd/john
sudo chmod 755 /mnt/hdd/john

  2.复制用户现有的数据到机械硬盘

使用 rsync 命令复制用户现有的数据到新的目录:

sudo rsync -av /home/john/ /mnt/hdd/john/   # 前面为用户下面的数据所在路径,后面为需要移动到机械硬盘中所在的路径

这会将 /home/john 目录下的所有数据复制到 /mnt/hdd/john。

  3.修改用户的主目录路径

 修改 /etc/passwd 文件中的用户主目录路径,将其指向新的位置:

sudo nano /etc/passwd

找到用户 john 的行:

john:x:1001:1001:John Doe,,,:/home/john:/bin/bash

将 /home/john 修改为 /mnt/hdd/john,变成:

john:x:1001:1001:John Doe,,,:/mnt/hdd/john:/bin/bash

  4.重启系统或重新加载用户会话

为了让更改生效,你可以重启系统或者让用户重新登录。

步骤 3:验证数据是否迁移成功

  1.登录并检查用户数据

用户重新登录后,可以检查是否已经成功访问新硬盘上的数据:

ls /mnt/hdd/john

如果一切正常,用户将能够在新挂载的机械硬盘上访问他们的所有数据。

  2.删除旧的主目录(可选)

如果确认数据已经成功迁移并且运行正常,可以删除旧的主目录来释放空间:

sudo rm -rf /home/john

类型二:在服务器上没有数据,需要使用U盘进行传输

要将U盘中的数据通过终端复制到服务器的机械硬盘上,你可以按照以下步骤进行操作。假设U盘已经插入到Ubuntu系统中(需要有管理员权限)。

如果当前账户不是管理员账户,使用下面的命令切换用户:

su 管理员账户名

步骤 1:挂载U盘

  1.查看U盘名称

当你将U盘插入Ubuntu系统时,它通常会自动挂载到 /media/ 目录下。你可以使用 lsblk 或 df 命令来查找U盘的挂载点,一般U盘的分区为sdb。

如果查看后U盘没有挂载点,可以通过手动挂载的方式实现。

  

lsblk

  2.手动挂载U盘(如果没有自动挂载)

如果U盘没有自动挂载,你可以手动挂载。假设U盘设备为 /dev/sdb1,可以挂载到 /mnt/usb:(可能U盘的分区有好几个,这就需要查看数据具体在那个分区)

sudo mkdir -p /mnt/usb
sudo mount /dev/sdb1 /mnt/usb

  3.验证U盘内容

使用 ls 命令检查U盘内容:

ls /mnt/usb

步骤 2:查找服务器机械硬盘的挂载点

  1.查看机械硬盘挂载点

通常,服务器的机械硬盘会挂载在 /mnt 或 /media 目录下。可以使用以下命令确认机械硬盘的挂载点:

df -h

步骤 3:将U盘数据复制到机械硬盘

假设U盘挂载在 /mnt/usb,服务器的机械硬盘挂载在 /mnt/hdd,你可以使用 cp 或 rsync 命令将U盘上的数据复制到机械硬盘。

  1.使用 cp 命令复制U盘数据

 使用 cp 命令将U盘上的所有文件复制到机械硬盘。假设你要将U盘数据复制到机械硬盘的 /mnt/hdd/backup 目录下:

sudo mkdir -p /mnt/hdd/backup   # 在机械硬盘的挂载点下创建文件夹
sudo cp -r /mnt/usb/* /mnt/hdd/backup   # 复制U盘文件到机械硬盘

参数说明:

  • -r 表示递归复制整个目录及其子目录。
  • /mnt/usb/* 表示复制U盘根目录下的所有文件。
  • /mnt/hdd/backup 是机械硬盘上的目标目录。

  2.查看复制后的文件

使用 ls 命令查看机械硬盘上的备份目录,确保数据已成功复制:

ls /mnt/hdd/backup

步骤 4:卸载U盘(可选)

数据复制完成后,你可以卸载U盘以安全移除:

sudo umount /mnt/usb

常见问题

1、用户权限不够:正常情况下,机械硬盘设置了管理员权限,如果用户不是管理员,通常不能在硬盘的路径下创建和删除文件夹,因此,这种情况需要给文件夹设置权限,以便普通用户能够读写文件。

解决办法:

  1.检查目录的权限

首先,使用 ls -ld 命令检查需要访问的文件夹目录的权限,看看当前用户是否有写权限:

ls -ld /mnt/hdd/ZZF/CHB-MIT/Dataset/Sample/ # 后面为文件夹所在路径

从输出结果可以看到有读写权限的用户名。

  2.更改目录权限

更换成管理员账户登录,在管理员账户的终端中输入指令给普通用户添加文件夹的读写权限,更改目录的权限或者将该目录的所有者改为你:

sudo chown -R username /mnt/hdd/ZZF/CHB-MIT/Dataset/Sample/dataSample_10s/  # 后面为需要修改权限的文件夹路径

 这条命令会将 /mnt/hdd/ZZF/CHB-MIT/Dataset/Sample/dataSample_10s/ 目录的所有权更改为用户 username。更改所有者后,你(用户 username)将拥有该目录的完全控制权,包括创建、修改和删除文件的权限。

建议:在执行 sudo chown -R username /mnt/hdd/ZZF/CHB-MIT/Dataset/Sample/dataSample_10s/ 命令之后,只有你指定的目录以及子目录的权限进行修改。因此,建议将根目录(即/mnt/hdd/ZZF/)的权限进行修改。

进行以上操作之后,普通用户就可以正常对文件夹进行读取操作了。

posted on 2024-10-24 12:45  一杯Java不加糖  阅读(173)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3