Applications :: Scp Copy A Directory And Its Contents From A Remote Machine To Local Host
Oct 8, 2010
For the life of me I can not figure out what I am doing wrong with scp to copy a directory and its contents from a remote machine to my local host. I have no issues with getting a single file but would like to just save time and get the whole folder in one command.
Here is what I have tried:
scp user AT remoteMachine:/home/username/folderIwant user AT localMachine:/folderIwant this gives me a permission denied error and try again and received disconnect from localHost to many authentication failures
scp user AT remoteMachine:home/username/folderIwant . says can not find file or folder
I am sure this is something easy that I cant remember, and searches gives me local to remote not remote to local and trying to make the local to remote suggestions I read to work remote to local have not worked.
I would like to copy the contents of a directory into another. I don't want to copy the directory and all files and directories under it, but just the contents of the directory just as if it were a regular file. Doing cp -r target dest copies the directory and the entire hierarchy rooted in it. I get error if I do not include the -r option. (I am calling cp from within a C program.)
Is there a way to copy a directory (retaining the permissions and owners) without copying the contents of the directory?
If there is no such thing... then I need a way to determine if a target path is a file or a directory, and if it is a directory I need to make a new directory elsewhere that has the same name, owner and permissions.
Basically, I'm trying write a script to copy 200 GB of files over a network to a new server, and I'd like to do it by generating a list with the find command. That way, I can migrate large chunks of the files over the course of a week, and on the day of the migration generate a new list of files that changed in the last week and then copy just the chagned files over minimizing the down time. However, the list will contain directories that I can't just use the 'cp' command on because it will copy all the contents of the directory.
Is there a way to copy a directory without copying the contents, but preserving ownership, timestamp etc of that directory?
I've looked at the cp man page, but I don't think it supports it. I'm thinking one would have to write a script to gather the info, and then mkdir, chown and touch. Does this seam right?
I've created other users in my machine. now I want to add all my home directory contents and settings to the home directory of other users. how can i do that? Can I do it from /etc/skel directory?
I have a server that I wanted to transfer it to a newer one both of them have CentOS but the newer one kernel is more up to date I wanted to know is it possible just to copy some directory contents exactly to another for transferring the server data (for example /var /usr /bin /home /etc). I have one website on my server with its mysql database
For reasons I won't get into, I need to copy directories so long as the average system load is low. Can someone help me write a BASH script that will copy the contents of a directory, but check to make sure the average system load is below X before copying each file, and if not, wait Y seconds and try again?
basically i am able to connect to my other windows machine using rdesktop I want to be able to mount the window machine's partition (particularly my media folder cusermyaccountVideo) i know rdesktop ipaddr -r disk: blah blah blah mounts the partition onto the local machine however, i cant figure out what the specific commands are i tried followings but with no luck
I'm new here and hope to profit from your immense linux knowledge and of course to share my own experience where I can.
I'm in a student organization and we use a file server that runs linux. I can log in through ssh and copy using scp using login and password (no rsa/dsa keys because most users are windows users using winSCP and they're lacking in computer knowledge so we don't require them to mess around with keys)
However, I don't have network access everywhere, so I'd like to make a copy on my laptop harddisk of some of the folders I use most frequently. Note that I don't need it to copy files from my pc back to the remote server so I don't need two-way sync. Deleting the local copy every time and downloading a new full copy is not an option as we are talking about several gigabytes and the download speed is limited. Normally I would use Unison, however, this requires unison to be installed on both pc's and I can't install any software on the file server so this is not an option.
Any ideas on how to achieve this? I'm reasonable knowledgable about linux so I don't mind tinkering with some config files and using command line applications.
I am using mount.cifs to mount a remote samba share (both client and server are Ubuntu server 8.04) like this:mount.cifs //sambaserver/samba /mountpath -o credentials=/path/.credentials,uid=someuser,gid=1000.I mounted a user from local system with username and password with mount.cifs but the problem is that the user is part of multiple groups on the remote system and with mount.cifs I can only specify one gid. Is there a way to specify all the gids that the remote user has?
Mount the remote samba with multiple groups on the local system?Browse the mount from 1) with the terminal since I want to pass some files from samba as arguments to local programs.which runs through gvfs; but the newer gnome does not write to disk the ~/.gvfs anymore so I can't browse it in terminal. And the last solution would be NFS but that means that I have to synchronize the uids and gids on the local system with the ones from the server.
I have a Ubuntu server hosted on Amazon EC2. I need to create an automated backup scheme so I created another Ubuntu instance on my local network which is hosted in a virtual environment. I managed to transfer the necessary files between 2 machines on the same network using the rsync command:
How can I do the same thing but transferring files from my Amazon server to my local server? Is there a way I can achieve this with port forwarding, or by VPN, or anything else? It doesn't have to be rsync. If you know about a better method, kindly let me know.
i am using dolphin 1.5 in kde 4.5.2. whenever i try to access movie file from remote samba server. dolphin copies the movie file to somewhere in local hard disk. so, i have to wait until a big file transferring complete. i know that it happens when i open .avi using mplayer. if i open the same remote file with kmplayer, it will player immediately instead of making local copy first. however, kmplayer is very slow and sounds and video stream breaking up, (i am sorry i do not know right english expression for this) i suppose this is not related to mplayer configuration. this seems to be dolphin problem. can i make dolphin to stop copying samba share to local disk and play instantly? there is a video in videos. it is comparing how dolphin and nautilus act differently when i play remote samba share movies.
I recently purchased a linux VPS from [URL] just to learn and play around with. I currently ssh into the machine via Putty from various Windows boxes. Is there anyway to throw some mp3s on the remote server and then have them play locally? Server is currently running Ubuntu Server 10.04.1.
i have a problem........ How to redirect local http port to remote ip ddress(192.168.10.64) using iptables..my destro is Centos 5.3 my rule is this iptables -t nat -A PREROUTING -s 0/0 -d <my local ip> -p tcp --dport 80 -j DNAT --to-destination 192.168.10.64
I am new both here and in Linux. As the subject says, I would like to learn how to copy a directory (not a file) from terminal with progress bar showing. The copy is local, i.e., not to another computer. My distro is CentOS 5.5. I know that if I do it with nautilus I would see the progress, but I want to learn how to do it from the terminal. I know that PV command can show a progress bar, but from what I saw, it works well for files, but not for directories (recursive).
Is it possible to use PV for directories? If yes, could you please show me the syntax? I also saw that some people mentioned that rsync can also show a progress bar, I tried to do it, but it didn't work out - perhaps I got the syntax wrong. If rsync can really be used to copy directories with progress bar, show me the syntax? Any other ideas on how to do it? I would like ideas that do not involve using any script, i.e., just something that I can do using the regular commands.
Is there a way to recreate all the folders from one directory to another without copying over the contents of the folder? I've been trying to do something like this,
Code:for i in `ls $X`; do mkdir $PATH/$i; doneUnfortunately $i is deliminated by whitespaces in the filenames and not the actual folders.
$X contains only other folders so I dont have to worry about regular files but any kind of more "advanced" solution would work.
I have a directory on my server at /home/dave/www/images/site (ext3) which I want to mount directly to my Windows computer so that I can transfer data easily via command line tool. Is that something possible?
I'm running and XP virtual machine using KVM / QEMU. THere are time when I need to copy text from an application in the Fedora host machine and paste the text into a different app in the XP guest machine. I was able to do this using Vitualbox on an earlier version of Fedora.
The code listed below is an excerpt from a script that I am writing. The goal is to verify that a directory on a remote server is available to the local system. If that is not the case, a log file is written, and all filesystems that were previous unmounted, are remounted on the local system.
Code: # # Unmount all NFS mounts prior to the archive process. umount -a -t nfs # Mount the remote directory (NFS) prior to running the make_net_recovery script. # Make sure there is a <remote server> folder located in the /mnt directory. If it is # not already there, create one. mount <remote server>:/<local system> /mnt/<remote server>
# Verify the remote directory (NFS) is available. This directory is needed # as it is the destination for the iso images. If it is not available, stop # here, and write the results to a log file. df |grep <remote server> > /dev/null RC=$? echo $RC
if [ ${RC} -eq 0 ] then echo successful else echo not successful >> /tmp/make_net_backup.log && mount -a exit fi Is the syntax shown above correct?