目前,我有一个简单的备份过程,其中每天通过cron运行一个脚本。如果驱动器中有磁带,它将使用cpio备份关键文件,每周进行一次完整的系统备份。在大多数情况下,这工作正常。
但是,出现的问题是时不时地,每周备份将失败并出现以下错误:
UX:cpio:错误:无法打开“/dev/tty”
这几乎总是当前磁带已满的情况,并且由于作为 cronjob 运行, cpio无法访问控制终端以提示下一个磁带。第二天早上手动运行脚本可以正常工作。
但是,手动运行备份不是最佳选择,因为完整的系统备份大约需要五个小时,在此期间系统处于高峰使用状态(因此容易在备份中更改)。让它在一夜之间自动运行是非常可取的。
清理系统中不必要的文件以放入单个磁带中只能带我到此为止。
有什么方法可以自动化跨磁带的备份作业?我确实有第二个磁带驱动器,我可以将它添加到服务器,但不确定这是否会有所帮助。除非绝对必要,否则我宁愿继续使用cpio而不是检查全新备份系统的所有压力测试/文档。
作为记录,我正在运行SCO OpenServer 6。
使用两个驱动器的选项之一是同时运行两个单独
cpio
的作业来备份系统的不同部分。那么挑战将是找到适合你的分界线。另一个优点是,只要数据总线不饱和,总备份就会更快完成。如果您的备份需要两个以上的磁带,这将无法扩展。
我记得,从很久以前,我正在做一些事情,比如使用expect来运行备份并使用指向设备而不是真实设备的符号链接(首先指向第一个磁带),所以当检测到磁带结尾时,你更改到第二个磁带的链接,然后发送
<RETURN>
到备份命令,它将继续使用第二个磁带。