¡¡¡¡ÓÐÈý¸öÖ÷ÒªµÄ±¸·Ý³ÌÐò dump(8)¡¢tar(1) ºÍ cpio(1)¡£
¡¡¡¡dump ºÍ restore ÊÇ UNIX® ´«Í³µÄ±¸·Ý³ÌÐò¡£ ËüÒÔ block ¶ø²»ÊÇÒÔÎļþΪµ¥Î»À´±¸·ÝÊý¾Ý¡¢Á´½Ó»òĿ¼¡£ dump ±¸·ÝµÄÊÇÉ豸ÉϵÄÕû¸öÎļþϵͳ£¬ ²»ÄÜÖ»±¸·ÝÒ»¸öÎļþϵͳµÄ²¿·Ö»òÊÇÓõ½Á½¸öÒÔÉÏÎļþϵͳµÄĿ¼Ê÷¡£ ÓëÆäËû±¸·ÝÈí¼þ²»Í¬µÄÊÇ£¬ dump ²»»áдÎļþºÍĿ¼µ½´Å´ø»ú£¬ ¶øÊÇдÈë°üº¬Îļþ ºÍĿ¼µÄÔʼÊý¾Ý¿é¡£ µ±ÐèÒª»Ö¸´Êý¾ÝµÄʱºò£¬restore ĬÈÏÔÚ /tmp/ ϱ£´æÁÙʱÊý¾Ý ©¤©¤ Èç¹ûÄãÕýÔÚ²Ù×÷µÄ»Ö¸´ÅÌÖ»ÓбȽÏСµÄ /tmp µÄ»°£¬ Äã¿ÉÄÜÐèÒª°Ñ»·¾³±äÁ¿ TMPDIR ÉèÖõ½Ò»¸öÓиü¶à¿Õ¼äµÄĿ¼£¬ ʹµÃ´Ë¹ý³Ì¸üÈÝÒ׳ɹ¦¡£
×¢Òâ: Èç¹ûÔÚÄúµÄ root Ŀ¼ʹÓà dump£¬ ½«²»ÐèÒª±¸·Ý /home¡¢/usr »òÆäËûĿ¼£¬ ÒòΪÕâЩÊǵäÐÍµÄÆäËûÎļþϵͳ»ò·ûºÅÁ¬½Óµ½ÄÇЩÎļþϵͳµÄ¼ÓÔØµã¡£
¡¡¡¡dump ÊÇ×îÔç³öÏÖÓÚ AT&T UNIX µÄ Version 6 (Ô¼ 1975)¡£ ĬÈϵIJÎÊýÊÊÓÃÓÚ 9-track ´Å´ø(6250 bpi)£¬ ËùÒÔÈç¹ûÒªÓøßÃܶȵĴŴø£¨×î¸ß¿É´ï 62,182 ftpi£©£¬ ¾Í²»ÄÜÓÃĬÈϵIJÎÊý£¬ ¶øÒªÁíÍâÖ¸¶¨²ÎÊý¡£ ÕâЩĬÈÏÖµ±ØÐëÔÚÃüÁîÐб»ÐÞ¸ÄÒÔ¸üºÃµØÀûÓõ±Ç°´Å´ø»úµÄ¹¦ÄÜ¡£
¡¡¡¡rdump ºÍ rrestore ¿ÉÒÔͨ¹ýÍøÂçÔÚÁíһ̨¼ÆËã»úµÄ´Å´ø»úÉϱ¸·ÝÊý¾Ý¡£ ÕâÁ½¸ö³ÌÐò¶¼ÊÇÒÀ¿¿ rcmd(3) ºÍ ruserok(3) À´·ÃÎÊÔ¶³ÌµÄ´Å´ø»ú¡£ Òò´Ë£¬ÔËÐб¸·ÝµÄÓû§±ØÐëÒªÓÐÔ¶³ÌÖ÷»úµÄ .rhosts ·ÃÎÊȨ¡£ rdump ºÍ rrestore µÄ²ÎÊý±ØÐëÊÊÓÃÓÚÔ¶³ÌÖ÷»ú ÀýÈ磬µ±Äú´Ó FreeBSD Á¬µ½Ò»Ì¨ SUN ¹¤×÷Õ¾ knomodo ȥʹÓôŴø»úʱ£¬Ê¹Óãº
# /sbin/rdump 0dsbfu 54000 13000 126 komodo:/dev/nsa8 /dev/da0a 2>&1
¡¡¡¡Òª×¢ÒâµÄÊÇ£º±ØÐë¼ì²éÄúÔÚʹÓà .rhosts ʱµÄ°²È«Çé¿ö¡£
¡¡¡¡Ò²¿ÉÒÔͨ¹ýʹÓà ssh ÓÃÒ»¸ö¸ü°²È«µÄ·½Ê½À´Ê¹Óà dump ºÍ restore ¡£
Àý 18-1. ͨ¹ý ssh ʹÓà dump
# /sbin/dump -0uan -f - /usr | gzip -2 | ssh -c blowfish \ targetuser@targetmachine.example.com dd of=/mybigfiles/dump-usr-l0.gz
¡¡¡¡»òʹÓà dump¡¡µÄ built-in ·½·¨£¬ ÉèÖû·¾³±äÁ¿ RSH£º
¡¡¡¡tar(1) ҲͬÑùÊÇÔÚµÚ 6 °æ AT&T UNIX (´óÔ¼ÊÇ 1975 ǰºó) ³öÏֵġ£ tar ¶ÔÎļþϵͳֱ½Ó²Ù×÷£» Æä×÷ÓÃÊǰÑÎļþºÍĿ¼дÈë´Å´ø¡£ tar ²¢²»Ö§³Ö cpio(1) ËùÌṩµÄÈ«²¿¹¦ÄÜ£¬ µ«Ò²²»ÐèÒª cpio ËùÐèҪʹÓõĹîÒìµÄÃüÁîÐйܵÀ¡£
¡¡¡¡Òª tar µ½Á¬½ÓÔÚÃûΪ komodo µÄ Sun »úÆ÷É쵀 Exabyte ´Å´ø»ú£¬ ¿ÉÒÔʹÓãº
# tar cf - . | rsh komodo dd of=tape-device obs=20b
¡¡¡¡Èç¹ûÄúµ£ÐÄͨ¹ýÍøÂ籸·Ý»áÓа²È«ÎÊÌ⣬Ӧµ±Ê¹Óà ssh £¬ ¶ø²»ÊÇ rsh¡£
¡¡¡¡cpio(1) ÊÇ UNIX ×îÔçÓÃÀ´×÷Îļþ½»»»µÄ´Å´ø»ú³ÌÐò¡£ËüÓÐÖ´ÐÐ×Ö½Ú ½»»»µÄÑ¡Ï¿ÉÒÔÓü¸ÖÖ²»Í¬µÄ¸ñʽдÈ룬²¢ÇÒ¿ÉÒÔ½«Êý¾ÝÓùܵÀ´«¸øÆäËû³ÌÐò¡£ cpio û°ì·¨×Ô¶¯²éÕÒĿ¼Ê÷ÄÚµÄÎļþÁÐ±í£¬±ØÐëͨ¹ý±ê×¼ ÊäÈë stdin À´Ö¸¶¨¡£
¡¡¡¡cpio ²»Ö§³Öͨ¹ýÍøÂçµÄ±¸·Ý·½Ê½¡£¿ÉÒÔʹÓà pipeline ºÍ rsh À´´«ËÍÊý¾Ý¸øÔ¶³ÌµÄ´Å´ø»ú¡£
# for f in directory_list; do find $f >> backup.list done # cpio -v -o --format=newc < backup.list | ssh user@host "cat > backup_device"
¡¡¡¡ÕâÀïµÄ directory_list ÊÇÒª±¸·ÝµÄĿ¼ÁÐ±í£¬ user@host ½áºÏÁ˽« ÒªÖ´Ðб¸·ÝµÄÓû§ÃûºÍÖ÷»úÃû£¬backup_device ÊÇд È뱸·ÝµÄÉ豸£¨Èç /dev/nsa0£©¡£
¡¡¡¡pax(1) ÊÇ·ûºÏ IEEE/POSIX® ±ê×¼µÄ³ÌÐò¡£¶àÄêÀ´¸÷ÖÖ²»Í¬°æ±¾ µÄ tar ºÍ cpio ¼äÓÐЩ²»¼æÈÝ¡£ ΪÁË·ÀÖ¹ÕâÖÖÇé¿ö£¬²¢Ê¹Æä±ê×¼»¯£¬POSIX ³öÁËÕâÌ×ÐµĹ¤¾ß³ÌÐò¡£ pax ³¢ÊÔ¿ÉÒÔ¶Áд¸÷ÖÖ cpio ºÍ tar µÄ¸ñʽ£¬²¢¿ÉÒÔ×Ô¼ºÔö¼Óеĸñʽ¡£ËüµÄÃüÁî ¼¯±È tar ¸ü½Ó½ü cpio¡£
¡¡¡¡Amanda (Advanced Maryland Network Disk Archiver) ²¢·Çµ¥Ò»µÄ³ÌÐò£¬¶øÊÇÒ»¸ö¿Í»§»ú/·þÎñÆ÷ģʽµÄ±¸·Ýϵͳ ¡£Ò»Ì¨ Amanda ·þÎñÆ÷¿ÉÒÔ±¸·ÝÈÎÒâÊýÁ¿Ö´ÐÐ Amanda µÄ¿Í»§»ú»òÊǽ«Á¬ÉÏ Amanda ·þÎñÆ÷µÄ¼ÆËã»úÉϵÄÊý¾Ý±¸·Ýµ½Ò»Ì¨´Å´ø»úÉÏ¡£Ò»¸ö³£¼ûµÄÎÊÌâÊÇ£¬Êý¾ÝдÈë´Å´ø»úµÄʱ¼ä½«³¬ ¹ýÈ¡ÐÐÊý¾ÝµÄʱ¼ä£¬¶ø Amanda ½â¾öÁËÕâ¸öÎÊÌâ¡£ËüʹÓÃÒ»¸ö ¡°holding disk¡± À´Í¬Ê±±¸·Ý¼¸¸öÎļþϵͳ¡£ Amanda ½¨Á¢ ¡°archive sets¡± µÄÒ»×é´Å´ø£¬ÓÃÀ´±¸·ÝÔÚ Amanda µÄÅäÖÃÎļþÖÐËùÁгöµÄÍêÕûµÄÎļþϵͳ¡£
¡¡¡¡ Amanda ÅäÖÃÎļþÌṩÍêÕûµÄ±¸·Ý¿ØÖƼ° Amanda ²úÉúµÄÍøÂç´«Êä¡£ Amanda ¿ÉÒÔʹÓÃÉÏÊöÈκÎÒ»¸öÉ豸³ÌÐòÀ´Ïò´Å´øÐ´ÈëÊý¾Ý¡£Amanda ¿ÉÒÔ´Ó port »ò package È¡µÃ£¬Ëü²¢·ÇϵͳĬÈϰ²×°µÄ¡£
¡¡¡¡¡°Do nothing¡± ²»ÊÇÒ»¸ö³ÌÐò£¬¶øÊDZ»¹ã·ºÊ¹Óõı¸·Ý²ßÂÔ¡£ ²»ÐèÒªÔ¤Ë㣬²»ÐèÒª±¸·ÝµÄ¼Æ»®±í£¬È«²¿¶¼²»Óá£Èç¹ûÄúµÄÊý¾Ý·¢ÉúÁËʲôÎÊÌ⣬ ºöÂÔËü£¡
¡¡¡¡Èç¹ûÄúµÄʱ¼äºÍÊý¾Ý²»ÖµµÃÄú×öÕâЩÊ£¬ÄÇô ¡°Do nothing¡± ½«ÊÇ×îºÃµÄ±¸·Ý³ÌÐò¡£Òª×¢ÒâµÄÊÇ£¬UNIX ÊÇÏ൱ºÃÓõŤ¾ß£¬Äú¿ÉÄÜÔÚ¼¸¸öÔ ÄÚ£¬¾Í·¢ÏÖÄúÒѾÊÕ¼¯Á˲»ÉÙ¶ÔÄúÀ´ËµÏ൱¾ßÓмÛÖµµÄÎļþºÍ³ÌÐò¡£
¡¡¡¡¡°Do nothing¡± ¶ÔÓÚÏñ /usr/obj ºÍÆäËû ¿ÉÓÉÄúµÄ¼ÆËã»ú²úÉúµÄÎļþÀ´Ëµ£¬ÊÇ×îºÃµÄ·½·¨¡£ÀýÈçÕâ±¾ÊÖ²á°üº¬ÓÐ HTML »ò PostScript® ¸ñʽµÄÎļþ¡£ÕâЩÎĵµ¸ñʽÊÇ´Ó SGML ÊäÈëÎļþ´´½¨µÄ¡£´´½¨ HTML »ò PostScript ¸ñʽµÄÎļþµÄ±¸·Ý¾ÍûÓбØÒªÁË¡£Ö»Òª¾³£±¸·Ý SGML Îļþ¾Í¹»ÁË¡£
¡¡¡¡ÔÚdump(8) ʱÆÚ Elizabeth D. Zwicky ²âÊÔÁËËùÓÐÒÔÉÏÁгöµÄ±¸·Ý³ÌÐò¡£ÔÚ¸÷ÖÖ¸÷Ñù¹ÖÒìµÄÎļþϵͳÖУ¬ dump ÊÇÄúÃ÷ÖǵÄÑ¡Ôñ¡£Elizabeth ½¨Á¢Æð¸÷ÖÖ¸÷Ñù¡¢ Ææ¹Ö»ò³£¼ûµÄÎļþϵͳ£¬²¢Óø÷ÖÖ±¸·Ý³ÌÐò£¬²âÊÔÔÚ¸÷ÖÖÎļþϵͳÉϱ¸·Ý ¼°»Ö¸´Êý¾Ý¡£ÕâЩ¹ÖÒìÖ®´¦°üÀ¨£º¾ßÓÐ holes ºÍÒ»¸ö nulls block µÄÎļþ£¬ ÎļþÃû¾ßÓÐÓÐȤ×Ö·û£¬ÎÞ·¨¶ÁдµÄÎļþ¼°É豸£¬ÔÚ±¸·Ýʱ¸Ä±äÎļþ´óС£¬ÔÚ ±¸·Ýʱ½¨Á¢»òɾ³ýµÄÎļþ¡£Ëý½«½á¹ûдÔÚ£º LISA V in Oct. 1991. ²ÎÔÄ torture-testing Backup and Archive Programs.
¡¡¡¡ÔÚÓöµ½ÔÖÄÑǰ£¬Ö»ÐèÒªÖ´ÐÐÒÔÏÂËĸö²½Ö裺
¡¡¡¡µÚÒ»£¬´ò³öÄúµÄÿ¸ö´ÅÅÌÇý¶¯Æ÷µÄ´ÅÅ̱êÇ© (ÀýÈ磺 bsdlabel da0 | lpr)£¬Îļþϵͳ±í£¬ (/etc/fstab) £¬ÒÔ¼°ËùÓÐÆô¶¯ÐÅÏ¢£¬ ²¢½«Æä¸´ÖÆÁ½·Ý¡£
¡¡¡¡µÚ¶þ£¬ ¿Ì¼һÕÅ ¡°livefs¡± CDROM¡£ Õâ¸ö CDROM °üº¬ÁËÓÃÓÚÒýµ¼½øÈë FreeBSD ¡°livefs¡± ÐÞ¸´Ä£Ê½µÄÖ§³Ö£¬ ÕâÖÖģʽÔÊÐíÓû§Ö´ÐÐÐí¶àÈÎÎñ£¬ ÀýÈçÖ´ÐÐ dump(8)¡¢ restore(8)¡¢ fdisk(8)¡¢ bsdlabel(8)¡¢ newfs(8)¡¢ mount(8)£¬ µÈµÈ¡£ Livefs CD Ó³ÏñÎļþËæ FreeBSD/i386 9.1-RELEASE Ìṩ£¬ ¿ÉÒÔ´Ó ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/ISO-IMAGES/9.1/FreeBSD-9.1-RELEASE-i386-livefs.iso »ñµÃ¡£
¡¡¡¡µÚÈý£¬¶¨ÆÚ½«Êý¾Ý±¸·Ýµ½´Å´ø¡£ÈκÎÔÚÉϴα¸·ÝºóµÄ¸Ä±ä¶¼ÎÞ·¨»Ö¸´¡£¼ÇµÃ½« ´ÅÅÌд±£»¤¡£
¡¡¡¡µÚËÄ£¬ ²âÊÔÔÚµÚ¶þ²½Ëù½¨Á¢µÄ ¡°livefs¡± CDROM ¼°±¸·ÝµÄ´Å´ø¡£ дϱʼǣ¬ ²¢ºÍÕâÕÅ CDROM¡¢ ´òÓ¡¸±±¾ÒÔ¼°´Å´ø·ÅÔÚÒ»Æð¡£ ÄúÔÚÐèÒª»Ö¸´Êý¾Ýʱ¿ÉÄÜÕýÐÄ»ÅÒâÂÒ£¬ ¶øÕâЩ¼Ç¼¿ÉÄÜ»á°ïÖúÄú±ÜÃâ»Ùµô±¸·Ý´Å´ø £¨Ôõô»á·¢ÉúÕâÖÖÇé¿öÄØ£¿ ¾ÙÀýÀ´Ëµ£¬ ±¾Ó¦Ö´ÐÐ tar xvf /dev/sa0 ÃüÁîʱ£¬ Äú¿ÉÄܻ᲻СÐÄÊäÈë tar cvf /dev/sa0£¬ ´Ó¶ø¸²¸Ç±¸·Ý´Å´ø£©¡£
¡¡¡¡±£ÏÕÆð¼û£¬ Äú¿ÉÒÔÖÆ×÷Á½·Ý ¡°livefs¡± CDROM ºÍ±¸·Ý´Å´ø¡£ ÆäÖÐÒ»·ÝÓ¦·Åµ½ÆäËüµØ·½£¬ ÕâÀï˵µÄÆäËûµØ·½µ±È»²»ÊÇָͬһ¶°°ì¹«Â¥µÄµØÏÂÊÒ£¬ ÊÀóÖÐÐĵÄÒ»´óÅú¹«Ë¾ÒѾѧµ½ÁËѪµÄ½Ìѵ¡£ ±£´æÕâ·Ý±¸·ÝµÄλÖÃÓ¦¸ÃÓëÄúµÄ¼ÆËã»úºÍ´ÅÅÌÇý¶¯Æ÷Ô½Ô¶Ô½ºÃ¡£
¡¡¡¡¹Ø¼üÎÊÌâÊÇ£º ÄúµÄÓ²¼þÊÇ·ñÐÒÃâÓÚÄÑ£¿ ÓÉÓÚÒѾ×öºÃÁ˶¨ÆÚµÄ±¸·Ý¹¤×÷£¬ Òò´Ë²¢²»ÐèÒªµ£ÐÄÈí¼þµÄÎÊÌâ¡£
¡¡¡¡Èç¹ûÓ²¼þÒѾË𻵣¬ ÕâЩ²¿·ÖÓ¦¸ÃÔÚ³¢ÊÔʹÓüÆËã»ú֮ǰ»»µô¡£
¡¡¡¡Èç¹ûÓ²¼þ»¹ÄÜÓ㬠½« ¡°livefs¡± CDROM ²åÈë CDROM Çý¶¯Æ÷²¢Òýµ¼ÏµÍ³¡£ Äú½«¿´µ½×î³õ°²×°ÏµÍ³Ê±µÄ²Ëµ¥¡£ Ñ¡ÔñÕýÈ·µÄ¹ú¼ÒÖ®ºó£¬ Ñ¡Ôñ Fixit -- Repair mode with CDROM/DVD/floppy or start a shell Ñ¡Ï È»ºóÔÙÑ¡Ôñ CDROM/DVD -- Use the live filesystem CDROM/DVD ÕâÏî¡£ Äú¿ÉÒÔʹÓà restore ÒÔ¼°ÆäËûλÓÚ /mnt2/rescue µÄ¹¤¾ß¡£
¡¡¡¡·Ö±ð»Ö¸´Ã¿Ò»¸öÎļþϵͳ
¡¡¡¡ÊÔ×Å mount £¨ÀýÈ磺 mount /dev/da0a /mnt£© µÚÒ»¸ö´ÅÅÌÉ쵀 root ·ÖÇø¡£ Èç¹û bsdlabel ÒѾ»Ù»µ£¬ ÔòÐèҪʹÓà bsdlabel ¸ù¾ÝÄúÏÈǰ´òÓ¡´æµµµÄ¼Ç¼À´ÖØÐ·ÖÇø²¢·ÖÅä´ÅÅ̱êÇ©¡£ ½Ó×ÅʹÓà newfs ÖØ½¨Îļþϵͳ¡£ ÒÔ¶Áд·½Ê½ÖØÐ¹ÒÔØ´ÅÅ̵ĸù·ÖÇø (mount -u -o rw /mnt)¡£ ʹÓÃÄúµÄ±¸·Ý³ÌÐòÒÔ¼°±¸·Ý´Å´ø»Ö¸´ÎļþϵͳÊý¾Ý £¨ÀýÈç restore vrf /dev/sa0£©¡£ ×îºóжÏÂÎļþϵͳ £¨ÀýÈç umount /mnt£©¡£ ¶ÔÓÚ»ÙµôµÄÆäËûÎļþϵͳ£¬ ÖØ¸´Ö´ÐÐÇ°ÃæÕâЩ²Ù×÷¡£
¡¡¡¡µ±ÄúµÄϵͳÕý³£Æô¶¯ºó£¬ ½«ÄúµÄÊý¾Ý±¸·Ýµ½ÐµĴŴø¡£ ÈκÎÔì³ÉÊý¾Ý¶ªÊ§µÄµÄÔÖÄѶ¼¿ÉÄÜÔٴη¢Éú¡£ ÏÖÔÚ»¨Ò»Ð©Ê±¼ä£¬ Ò²Ðí¿ÉÒÔÔÚÏ´η¢ÉúÔÖÄÑʱ¾ÈÄúÒ»°Ñ¡£
±¾ÎĵµºÍÆäËüÎĵµ¿É´ÓÕâÀïÏÂÔØ£ºftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
Èç¹û¶ÔÓÚFreeBSDÓÐÎÊÌ⣬ÇëÏÈÔĶÁÎĵµ£¬Èç²»Äܽâ¾öÔÙÁªÏµ<questions@FreeBSD.org>.
¹ØÓÚ±¾ÎĵµµÄÎÊÌâÇë·¢ÐÅÁªÏµ <doc@FreeBSD.org>.