|
DataMuseum.dkPresents historical artifacts from the history of: Regnecentalen RC-900 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Regnecentalen RC-900 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T u
Length: 3875 (0xf23) Types: TextFile Names: »usr/admin/menu/filemgmt/backup «
└─⟦3d8f416b2⟧ Bits:30004042/core2.imd SW95705I 386/ix Multi-user Release 1.2 └─⟦this⟧ »usr/admin/menu/filemgmt/backup «
#ident "@(#)sadmin:admin/menu/filemgmt/backup 2.6" #menu# backup files from built-in disk to removable media #help# #help# Backup saves copies of files from the built-in disk file systems to #help# removable media. There are two kinds of backups: COMPLETE #help# (copies all files; useful in case of serious file system damage) #help# and INCREMENTAL (copies files changed since the last backup). #help# The normal usage is to do a complete backup of each file system #help# and then periodically do incremental backups. We recommend keeping #help# 2 cycles (one set of complete backups and several incrementals to #help# each cycle). #help# Files backed up with "backup" are restored using "restore". SAVEDIR=/etc/save.d flags="-qq -k$$" trap 'exit 0' 1 2 15 fslist=`/etc/mount | sed ' s/ .*// \;^/save$;d ' | tr '\012' ' '` fs=`checklist ${flags} -fe -l ' ' -H ' You may list more than one file system and the special answer "ALL" will backup all the file systems listed.' \ " Available file systems: ${fslist} ALL Enter file system(s) you want to backup [?, q]:" ${fslist} ALL` case "${fs}" in ALL ) fs=${fslist} ;; ?*ALL | ALL*? ) echo >&2 ' ALL must be used by itself. Please try again.' exec sh $0 esac mode=`checklist ${flags} -h\? \ -H' A complete backup copies everything in case of a complete loss of information and an incremental backup copies files recently changed in case a file or a few files are lost.' \ -pfe 'Select complete or incremental backup [c, i, ?, q]:' \ complete incremental` case "${mode}" in complete ) mode=c ;; incremental ) mode=i ;; * ) admerr $0 "Bad answer '${mode}'" exit 1 esac verbose= if checkyn ${flags} -f -h\? -H' If you answer "yes" to this question, each file will be listed as it is being copied to the removable media. This could be useful should you need to find a particular file later. If you answer "no", then only a dot, ".", will be printed for each file copied.' \ 'Print each file name as it is copied?' then verbose=-v fi if [ ! -d ${SAVEDIR}/timestamp ] then mkdir ${SAVEDIR} ${SAVEDIR}/timestamp 2>/dev/null fi dir=${0}.d if [ -d ${dir} ] then patterns=`ls ${dir} 2>/dev/null` else patterns= fi ncpiocmd=ncpio ncpioargs= ddrive=`selectdevice -c $$ /dev/rSA ${patterns}` ndrive=`drivename ${ddrive}` if [ -n "${patterns}" ] then . ${dir}/`selpattern ${ddrive}` fi case "${mode}" in i ) btype=Incremental cd ${SAVEDIR}/timestamp for f in ${fs} { if [ ${f} = / ] then f=:root: fi if [ ! -f ./${f} -o ! -s ./${f} ] then if [ ${f} = :root: ] then f=/ fi echo >&2 " A complete backup of '${f}' needs to be run before the first incremental backup. Please try again." exit 0 fi } today=`date +"%a. %D, %r"` msg=`echo "▶07◀ Before inserting the next medium into the ${ndrive}, mark it: " for f in ${fs} { if [ ${f} = / ] then fname=:root: else fname=${f} fi echo " Incremental Backup of ${f}, \`cat ./${fname}\` to ${today}" } echo ' part %d\n'` ;; c ) btype=Complete msg=`date +"▶07◀ Before inserting the next medium into the ${ndrive}, mark it: Complete Backup of ${fs}, %a. %D, %r part %%d "` esac echo "${msg}" | sed ' s/the next /the first / s/%d/1/' l=`disklabel -n "${ndrive}" $$ ${ddrive}` eval `labelfsname "${l}"` if [ -n "${fsname}" -a -d "/${fsname}" ] then echo " This is file system '${fsname}', labeled '${label}'." if checkyn ${flags} -f 'Do you wish to overwrite it? [q]' then : else echo "\\tGet another and start over." exit 0 fi fi if /etc/savecpio -d "${ddrive}" -n "${ndrive}" -${mode} ${verbose} \ -C "${ncpiocmd} ${ncpioargs}" -M "${msg}" ${fs} then echo "\\n${btype} backup of " ${fs} " finished." else echo "\\t${btype} backup of " ${fs} " did not work. \\tSee the Owner/Operator manual for help." fi echo 'You may now remove the medium.▶07◀'