我们有一个外部驱动器,我们的服务器备份到每晚。 它被挂载到/快照。 我们计划每周交换一次这个磁盘。 问题是一个驱动器以/ dev / sdc而另一个以/ dev / sdd命名。 在fstab中,mount被设置为/ dev / sdc。 备份脚本之前,运行挂载/快照,从fstab获取挂载点。
我怎么能得到它在一个星期挂载/ dev / sdc和下一个星期挂载/ dev / sdd。 它必须是自动的,因为交换磁盘的人不会进入terminal。
您可以每周创build一个crontab 0 2 * * 2 /usr/local/script.sh并放入script.sh :
#!/bin/bash mark_file=/tmp/job-run-marker # check whether the job runned last week if [ -e $mark_file ] ; then rm -f $mark_file unmout /snapshots mount /dev/disk/by-label/even-weeks /snapshots else touch $mark_file unmout /snapshots mount /dev/disk/by-label/odd-weeks /snapshots fi
该脚本在第一次运行时不会find$mark_file ,所以它将挂载/dev/disk/by-label/even-weeks 。 第二次运行脚本将删除$mark_file ,然后挂载/dev/disk/by-label/odd-weeks 。 对于第三次运行,它与第一次运行相同。 所以如果这个脚本是每周由cron运行的,那么这个工作命令将每两周运行一次。
提示:标记磁盘ln -s /dev/disk/by-uuid/UUID /dev/disk/by-label/even-weeks
编辑: