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