How Do I FTP System Files to Different Server?

Hello,
I have a legacy system that is running on SCO OpenServer 5.0.6, and the hardware is becoming a little sketchy. I replaced the hard drive about a year ago, and was able to come back from a tape backup of my entire system. I have been successful with building a VM with VMware Workstation, and I have a clean install of 5.0.6 with 5.0.6a supplements, and I have it operational with LAN access here in our office. I can connect via FTP from the "working" server to the new VM server successfully!

I would like to copy all of the necessary files from the "working" server to the new VM server, so I can avoid having to try an get my ancient tape drive somehow connected and recognized by the new VM server. Last year when I rebuilt to new hard drive, someone on this forum suggested that I restore everything from my tape backup except the /etc/conf directory, and this seemed to get the job done but caused a few error messages to pop up on reboots, etc. I don't mind because the system works for what we need, which is basically to look up historical data stored in the legacy system.

I am relatively unskilled, but I know a little bit about ftp, cp, tar, etc. What would be the best and easiest way to copy all of the necessary system files from my "working" server to the new VM server via ftp? Complete commands would help a lot, if possible, or if there is a better strategy I am open to anything.

Thanks,
Rob

Well I guess the easy answer is IF you have enough spare disk space on the systems (especially the old system) you could 'cpio' (I prefer to use that on a SCO system) archive the required files, ftp over that cpio archive to the new system, and then restore it onto the new system.

I would think that easier than trying to ftp over individual files en masse.

I read the long thread from last year. You could install a DVD writer in the old system, and use Microlite edge to do a backup of the entire system to dvd rather than tape. The only issue may be finding an IDE drive rather than a SATA.
You can then selectively restore the directories or files that you want.
Unless you have different serial numbers on each machine, you will not be able to use rcp.
You could also just restore the application and the directory/files you are absolutely sure you need; start the application then wait for the "file not found" messages.

If you have enough free space on both you could use Microlite edge to do a backup to a filesystem, FTP it across, then using edge on the new system do a selective restore.
Although I call it a filesystem it could be a directory on the existing filesystem as long as it is excluded from the backup.

Yeah, I think I could find a way to do the copies, but now I realize that I am NOT connecting via FTP. I was seeing the "ftp>" cursor thinking all was good, but when I actually read the connection info it says "login failed" - so I'm back to the same problem I've had before. I can't seem to find any information online, or in the SCO manuals I have that say how to enable the FTP server. The manual mentions some FTP settings in the Internet Configuration using the graphical window, but what I see on the screen doesn't match what I'm reading.

I think I'm down to trying the IDE DVD writer on the old machine, or trying to get the old tape drive working on the VM. I have an adapter to connect the IDE interface of the tape drive to a SATA port in the computer, do you think there is any chance that would work? Also, where can I find the commands to use mkdev and try to install the IDE DVD drive?

I appreciate your help.

The ftp server is started automatically.
If you already have a cdrom drive, replacing that with a dvd writer, does not entail any configuration changes assuming you retain the same master/slave jumper settings; otherwise use:

mkdev cdrom
  follow the prompts

To see if the ftp server is running on the vm try:

telnet vm-host-ipaddress 21

you should get something like the following response

 telnet 192.168.1.31 21
Trying 192.168.1.31...
Connected to 192.168.1.31.
Escape character is '^]'.
220-
220 unix FTP server (Version wu-2.6.2(11) Thu Dec 22 07:07:30 EST 2005) ready.

530 Please login with USER and PASS.

I got the response from the server just as what you have shown in your post, asking me to login with USER and PASS. So, when I enter "USER root" it says that a password is required for root, and so I enter "PASS (my known password)" it says login incorrect. Just for fun I tried "USER anonymous" and it said "Guest login OK, please enter your complete email address as password." So I entered "PASS (my email address)" and it still said login incorrect. Is there any way around this? Can I create an FTP user account somehow on the new VM server? Thanks.

you do not enter the word USER and PASS. only enter the actual user name and password.
If you want to have automatic login, create a .netrc file in the root directory /.
There is a man page for netrc to give you the format.

machine 192.168.1.31 login root password abcvdefgh

Create the file with 0400 permission and owner root

OK, I have tried this a couple of different ways - creating the .netrc file with the machine information for the other machine on each of my two servers. I have done the chown command to change ownership to root, and I've done the chmod command to set permissions to 0400. When I run the "telnet (machine ip) 21" command it says that I'm connecting to the other machine - the ip and machine names are correct, and at the end of the line it says "ready", however whenever I try to type anything in it tells me - "530 Please login with USER and PASS." Same message I get in either direction with the two servers. If there are no other steps I need to do, or check on, I guess I'll pursue the connection of a CD/DVD writer to the old server and see if I can backup to that. Again, I appreciate all the help!

telnet is not going to read the .netrc file, you have to use 'ftp', the ftp client.

OK, I think I have found a possible reason why the ftp connection won't work. My older system, when being contacted via ftp on the command line, identifies itself as "scounix.SJCAT.COM". The SJCAT.COM domain was an ancient Windows Active Directory domain that we had many years ago. Our current domain is a different name, so where does the TCP/IP settings get changed in the SCO OpenServer 5.0.6 machine? I'm thinking that my current DNS server, and both the old and new SCO systems should have accurate network identification information, right? I just need to know where to go to make all of the necessary changes. Please advise - thanks.

The behavior you describe above is exactly what I'd expect when telnetting into a properly functioning FTP server, is the thing.

You can use a node name or an ip address on the command line:

# ftp harry

or

# ftp 192.168.1.33

If you use a node name the system needs to resolve it to an ip address and the first place it looks is /etc/hosts . If the name is in there it will not need or try to go to DNS server(s).

Another thing to consider is whether the two systems ip address are on the same network? If not, then the system will try to contact its gateway to get a route out of the LAN.

Can you ping the other system?? (try it both ways) e.g.

# ping 192.168.1.33

If ping doesn't work then you have no chance with ftp or telnet .

To avoid confusion on whether names are being resolved properly or not just use an ip address for your target on your command line.

It might help if you post the two ip addresses and the subnet mask being used.

OK, now I'm pulling my hair out. I deleted the working VM that I had, in order to pursue some different options, but now I'm determined to find a way to get this option working. I'm using VM Workstation 12, which has a configuration equivalent to Workstation 8.x that seems to work wonderfully well for installing OpenServer 5.0.6, even though according to Xinuos that setup is "not supported". I know that I had it working before, and it was connected to my LAN because I could remote in using a program called ICE.TCP which works with my operating legacy hardware server.

Now the problem is that when I install 5.0.6 using the option to "Auto-detect) when it comes to selecting the network adapter, it does not work after the software is finished installing. I can't think of anything different that I did before when I got it to work, but I must have. In the VM settings for Workstation, I have it set to used "Bridged" networking, which should allow the VM to have a separate IP address from the host, which is what I want.

The actual NIC in the Host is an Intel 82579V built-in the MB. The "Auto-detect" feature of the OS installation selects an AMD PCNet-PCI adapter with Bus-Dev-Func of 2:0:0. I cannot think of anything else I would have done the first time, so I'm wondering if I did something after installation that got the VM connected to my LAN. The Windows setting for the NIC is for static IP of 192.168.40.215, and when I assign an IP to the OS in VM I give it 192.168.40.216. After I finish the installation I am unable to ping to or from the OS 5.0.6 VM. I do have the host entry in my local DNS server for the VM IP and machine name.

Can anyone point me in the direction of what I might be missing? I KNOW it was working with my other VM, before I trashed it. Any help is appreciated.

Have we had this conversation before:

SCO auto-detecting AMD PCNet-PCI adapter is correct.

Did you configure that virtual NIC when prep'ing??

Ref: You never know: SCO Openserver 5.0.7 P2V

Well, I've made some progress but still not totally solved. My two SCO machines I will call now the "physical" and the "VM". At this point I can ping from any machine on the LAN to both the physical and the VM IP addresses or machine names. From the physical machine, I can ping out to any machine on the LAN by either IP address or machine name, which would mean that it is correctly finding my local DNS server for resolution. However, from the VM I cannot ping out to any other machine using either the IP address or machine name. All I get is a "host down" message.

I was unaware that anything needed to be done with the NIC settings in the Host Windows PC in order to use the VM "bridge" mode - please let me know if this is my problem and what I need to do.

I also read somewhere that there is a "route" file in the /etc directory, but it's binary so I have no idea if that is configured correctly in the VM. When I look at the Network settings in scoadmin everything appears to be correct, with similar settings to the physical machine.

Any help as to what I am missing will be greatly appreciated. Thanks!

Edit to add: In the Virtual NIC settings for the VM I saw a checkbox that says "Replicate physical network connection state" that was not checked. I tried shutting down the VM and checking that box. I restarted and it still won't ping out - so that was not the problem. I also forgot to mention that I entered the Gateway IP and the primary and secondary DNS IPs at system installation for the VM. Still not sure what the problem is.

Hmmmmm........need to gather some information!

Please post the ip address of the physical system and the ip address of the VM system.

Login to the VM system...........

What are the locally configured hosts? Please post the output of:

# cat /etc/hosts

What net adapters does the VM machine think it has? Please post the output of:

# ifconfig -a

What routing does the VM system think it has? Please post the output of:

# netstat -r

That lot ought to tell us something.

There are probably many was to do this sort of thing, however if you are looking at cloning/virtualising a server, I would point you to something like Storix although there are other products like Christie clone manager etc. I'm not sure if it will support your OS though, you would need to check.

If you just have a new server and need to get all sorts of (hopefully small) configuration files across, then you could:

  • build an archive file (cpio, tar etc.) and FTP it before extracting
  • NFS share from the new server and mount on the old so you can write the file(s)
  • If you are very short of space on the old, you might use a tunnel:
    [list]
  • make a pipe file on the receiving server in /tmp/receive.pipe with mknod
  • make a pipe file on the sending server in /tmp/source.pipe
  • start reading the receiving pipe (for instance with tar) such as tar -xvf /tmp/receive.pipe
  • on the source, use rsh/remsh/rlogin to open a telnet port connection, reading from one pipe and writing to the other pipe file something like (dd if=/tmp/source.pipe | remsh newserver "dd of=/tmp/arrive.pipe") &
  • start your archive (with tar or whatever to match above) such as tar -cvf /tmp/source ./file1 ./file2 ./file3 ........
    [/list]
    Hopefully this will all hang together across the network and channel the data across without the IO costs of really writing the intermediate files to disk.

    You might try ssh instead of a remote telnet shell if that is available to your OS (I don't know how old it is)

  • If you have ssh keys established so that there is password-less login from the source to the receiver, then you could probably scp each file. You might also try rsync if there are lots of files in a common directory (and below) to move across.

Always be careful of what you overwrite else the receiving server may become unusable of you overwrite the wrong things.

Looking at the issue of network connectivity, it may come down to what network adapter you have assigned to the VM. Do you have a default router configured that you can get to and get to other machines with for both the source and target? Perhaps your netmask is wrong for your routing. The output requested by hicksd8 would be useful to narrow this down.

Kind regards,
Robin