一.在同一台机器上:
1.覆盖拷贝 在centos上 文件复制比较简单
用cp -p -r -f "/var" "/mnt/ubak/"(例) 即可。
但是如果使用putty等远程复制,putty中断后,任务应该会停止执行,那么复制到具体何位置应无法确定。
后来查到用如下命令 nohup cp -p -r -f "" "" &
程序会在后台执行,即使退出终端也不会中断执行。
2.不覆盖拷贝 把歌曲从/data/www/html/song/upload/m/ 拷贝到/mnt/backup/www/html/song/upload/m/,不覆盖相同文件 (其实只是将覆盖提示默认为否) [root@localhost ~]# awk 'BEGIN{cmd = "cp -p -i -r /data/www/html/song/upload/m/* /mnt/backup/www/html/song/upload/m/";print "n"|cmd; }' 二.在不同机器上: 介绍两种方法 1、scp 例子:scp source dest //将source拷贝到dest 与cp不同的是,这里的source和dest形式如下 用户名@主机名:文件路径 例子:scp root@202.112.23.12:/home/work/example.c . //将远程机202.112.23.12上的example.c拷贝至本机的当前目录 例子:scp -r root@202.112.23.12:/home/work/project . //将远程机202.112.23.12上的project目录拷贝至本机的当前目录 当然也可以将本机以外的A机的内容拷贝至B机,这里要输入两个用户在两台机器上的密码即可 2、rsync 它比scp更强大,支持“不覆盖”原目录 例子:rsync -avz --progress /root/client/ root@202.112.23.12:/home/work/ //将本机的/root/client/拷贝至远程的202.112.23.12:/home/work/目录,--progress可以查看拷贝的过程 例子:rsync -avzu --progress /root/client/ root@202.112.23.12:/home/work/ //u选项,指定不覆盖原目录内容 例子:从端口为11212(非默认端口22)的服务器拷贝/m下文件到本地文件夹 rsync -avzur --progress -e'ssh -p 11212' root@192.168.50.11:/var/www/wwwroot/song/upload/m/* /data/www/html/song/upload/m/ (责任编辑:IT) |