本机配置了三块硬盘,分别是一块256 GB 三星固态硬盘和两块4 TB 希捷机械,这么做考虑的原因是将256GB的三星固态作为系统盘,挂载在"/" 目录下,并且将各种软件安装在"/opt"下;一块4T机械挂载在"/home"目录下;剩下的一块4T机械作为备份盘。系统的分区如下所示:
挂载点 | 容量 |
swap | 4GB,在256GB硬盘中 |
boot/efi | 200M,在256GB硬盘中 |
boot | 2GB,在256GB硬盘中 |
/ | 256GB硬盘剩下的所有容量 |
/home | 其中一块4T硬盘 |
/backup | 剩下的一块4T硬盘 |
系统安装的是最新的CentOS 9 stream,由于其已经内置了rsync备份软件,所以无需再去安装。另外,我们用rsync的增量备份方式去备份/home的内容,备份脚本如下所示:
- #!/bin/bash
- # A script to perform incremental backups using rsync
- set -o errexit
- set -o nounset
- set -o pipefail
- readonly SOURCE_DIR="/home"
- readonly BACKUP_DIR="/backup/my_backup"
- readonly DATETIME="$(date '+%Y-%m-%d_%H:%M:%S')"
- readonly BACKUP_PATH="${BACKUP_DIR}/${DATETIME}"
- readonly LATEST_LINK="${BACKUP_DIR}/latest"
- mkdir -p "${BACKUP_DIR}"
- rsync -av --delete \
- "${SOURCE_DIR}/" \
- --link-dest "${LATEST_LINK}" \
- --exclude=".cache" \
- "${BACKUP_PATH}"
- rm -rf "${LATEST_LINK}"
- ln -s "${BACKUP_PATH}" "${LATEST_LINK}"
复制代码 备份脚本使用很简单,以root账号登陆服务器,将该备份脚本命名为backup.sh并放在在其家目录下,chmod +x backup.sh 赋予其可执行权限。然后在/backup下建立一个my_backup的目录(这么做主要是我还想在这个backup盘里放点其他的东西,所以给备份文件另外建了my_backup目录)。最后输入crontab -e 设定定时任务让其每个月一号的凌晨三点执行该备份脚本一次,crontab任务设置为如下所示,如果不会设置的话自行看看这个文档(
https://wizardforcel.gitbooks.io/vbird-linux-basic-4e/content/):
- 0 3 1 * * /root/backup.sh
复制代码
二、Lmod模块化管理软件
2.1 Lmod安装
lmod是基于lua的module化管理软件的应用,所以要想安装lmod必须先安装好lua。由于CentOS 9 stream 已经内置了lua,但是在安装lmod过程中会遇到lua包不全的问题,这个很简单,按照报错提示dnf install 安装相应缺少的包就行。首先去(
https://sourceforge.net/projects/lmod/files/)下载lmod-8.6.tar.bz2,放到/opt下,tar -xjf lmod-8.6.tar.bz2解压之。接下来,检查下面这些包在你的机子上是否安装了,没有则dnf装之:
- $ rpm -qa | grep lua
- lua-posix-5.1.7-1.el6.x86_64
- lua-5.1.4-4.1.el6.x86_64
- lua-filesystem-1.4.2-1.el6.x86_64
- lua-devel-5.1.4-4.1.el6.x86_64
复制代码然后cd 进入解压目录,以最简单的方式编译:
- ./configure --prefix=/opt/lmod
- 没有configure 成功按照上面提示安装缺少包
- make install
复制代码下面将lmod的初始化脚本软连接到/etc/profile.d和/etc/fonts/conf.d中:
- ln -s /opt/lmod/lmod/lmod/init/profile /etc/profile.d/z00_lmod.sh
- ln -s /opt/lmod/lmod/lmod/init/cshrc /etc/profile.d/z00_lmod.csh
- ln -s /opt/lmod/lmod/lmod/init/profile.fish /etc/fonts/conf.d/z00_lmod.fish
复制代码
下面就要去/opt/lmod/lmod/lmod/modulefiles/Core/下去设置modulefile了。我们由简单到复杂一点,分别给出几个案例供大家参考:
2.2 lmod module管理vmd-1.9.3
vmd执行我们仅需要定义其PATH即可,不需要其他函数库路径,因此在/opt/lmod/lmod/lmod/modulefiles/Core/下首先mkdir vmd 建立vmd的目录,然后进入该目录并且建立一个名为1.9.3.lua的文件: