Changeset 737 in MondoRescue for branches/stable/mondo


Ignore:
Timestamp:
Aug 3, 2006, 8:49:44 PM (18 years ago)
Author:
Bruno Cornec
Message:

Big NFS+PXE migration: start-nfs is not created by mondoarchive, but on the fly by init during restore. This allows more flexibility to restore through NFS a backup created on disks e.g. and simplify code.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/stable/mondo/mondo/common/libmondo-files.c

    r684 r737  
    12671267            ("Unable to find ethN (eth0, eth1, ...) adapter via NFS mount you specified.");
    12681268    }
    1269     sprintf(outfile, "%s/start-nfs", bkpinfo->tmpdir);
    1270     sprintf(tmp, "outfile = %s", outfile);
    1271     log_it(tmp);
    1272     if (!(fout = fopen(outfile, "w"))) {
    1273         fatal_error("Cannot store NFS config");
    1274     }
    1275     fprintf(fout, "#!/bin/sh\n");
    1276     fprintf(fout, "# number of ping\n");
    1277     fprintf(fout, "ipcount=3\n");
    1278     fprintf(fout, "for i in `cat /proc/cmdline` ; do\n");
    1279     fprintf(fout, "    echo $i | grep -qi ping= && ipcount=`echo $i | cut -d= -f2`\n");
    1280     fprintf(fout, "done\n");
    1281     fprintf(fout, "ifconfig lo 127.0.0.1  # config loopback\n");
    1282     fprintf(fout, "ipdev=%s\n", nfs_dev);
    1283     fprintf(fout, "ipaddress=%s\n", nfs_client_ipaddr);
    1284     fprintf(fout, "ipnetmask=%s\n", nfs_client_netmask);
    1285     fprintf(fout, "ipbroadcast=%s\n", nfs_client_broadcast);
    1286     fprintf(fout, "ipgateway=%s\n", nfs_client_defgw);
    1287     fprintf(fout, "ipconf=\n");
    1288     fprintf(fout, "nfsmount=%s\n", bkpinfo->nfs_mount);
    1289     fprintf(fout, "for i in `cat /proc/cmdline` ; do\n");
    1290     fprintf(fout, "    echo $i | grep -qi ipconf= && ipconf=`echo $i | cut -d= -f2`\n");
    1291     fprintf(fout, "    echo $i | grep -qi nfsmount= && nfsmount=`echo $i | cut -d= -f2`\n");
    1292     fprintf(fout, "done\n");
    1293     fprintf(fout, "nfs_server_ipaddr=`echo $nfsmount | cut -d: -f1`\n");
    1294     fprintf(fout, "echo \"$ipconf\" | grep -q \"dhcp\"\n");
    1295     fprintf(fout, "if [ $? -eq 0 ]; then\n");
    1296     fprintf(fout, "    ipdev=`echo $ipconf | cut -d: -f1`\n");
    1297     fprintf(fout, "    echo \"Making DHCP request on $ipdev\"\n");
    1298     fprintf(fout, "    udhcpc -i $ipdev\n");
    1299     fprintf(fout, "else\n");
    1300     fprintf(fout, "    if [ \"$ipconf\" != \"\" ]; then\n");
    1301     fprintf(fout, "        ipdev=`echo $ipconf | cut -d: -f1`\n");
    1302     fprintf(fout, "        ipaddress=`echo $ipconf | cut -d: -f2`\n");
    1303     fprintf(fout, "        ipnetmask=`echo $ipconf | cut -d: -f3`\n");
    1304     fprintf(fout, "        ipbroadcast=`echo $ipconf | cut -d: -f4`\n");
    1305     fprintf(fout, "        ipgateway=`echo $ipconf | cut -d: -f5`\n");
    1306     fprintf(fout, "    fi\n");
    1307     fprintf(fout, "    ifconfig $ipdev $ipaddress netmask $ipnetmask broadcast $ipbroadcast\n");
    1308     fprintf(fout, "    route add default gw $ipgateway\n");
    1309     fprintf(fout, "fi\n");
    1310     fprintf(fout, "ping -c $ipcount $nfs_server_ipaddr # ping server\n");
    1311     fprintf(fout, "mount -t nfs -o nolock $nfsmount /tmp/isodir\n");
    1312     paranoid_fclose(fout);
    1313     chmod(outfile, 0777);
    13141269    make_hole_for_dir("/var/cache/mondo-archive");
    1315 
    1316 //  paranoid_system ("mkdir -p /var/cache/mondo-archive 2> /dev/null");
    1317 
    1318     sprintf(tmp, "cp -f %s /var/cache/mondo-archive", outfile);
    1319     run_program_and_log_output(tmp, FALSE);
    13201270
    13211271    sprintf(tmp, "%s/NFS-DEV", bkpinfo->tmpdir);
Note: See TracChangeset for help on using the changeset viewer.