解决linux远程拷贝报错not a regular file问题
作者:12级龙卷风
这篇文章主要介绍了解决linux远程拷贝报错not a regular file问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
linux远程拷贝报错not a regular file
配置zk的配置文件zoo.cfg
[root@node1 ~]# cd /export/server/zookeeper/ [root@node1 zookeeper]#cd conf [root@node1 conf]# ll -rw-rw-r-- 1 zhangsan zhangsan 535 Feb 20 2014 configuration.xsl -rw-rw-r-- 1 zhangsan zhangsan 2161 Feb 20 2014 log4j.properties -rw-rw-r-- 1 zhangsan zhangsan 922 Feb 20 2014 zoo_sample.cfg [root@node1 conf]# mv zoo_sample.cfg zoo.cfg
[root@node1 conf]# vim zoo.cfg # the directory where the snapshot is stored. #这句话的意思是:这个使用来存放数据的地方 # do not use /tmp for storage, /tmp here is just #但是,告诉我们不要使用tmp路径存储,因为tmp在这里仅仅是一个示例 # example sakes. #因为linux的tmp路径,是一个临时交换数据的,这个路径下的数据是最没有安全感的,我们会随时对这里的数据进行清空。 #dataDir=/tmp/zookeeper 注释:zk我们最终保存的数据存放在哪里呢?所以我们这里的【/tmp/zookeeper】需要修改成【/export/data/zkdata】, dataDir=/export/data/zkdata #zk的配置文件,复制粘贴到最末尾 #在vim编辑文件最后添加 2888心跳端口 3888选举端口==》就是最下面的三行代码虚拟机 #拓展:心跳机制:①分布式软件中从角色向主角色进行心跳heartbeat②目的:报活server.1=node1:2888:3888 server.2=node2:2888:3888 server.3=node3:2888:3888
将字符串1写入到/export/data/zkdata路径下myid文件中
1表示设备编号
[root@node1 conf]# mkdir -p /export/data/zkdata [root@node1 conf]# echo 1 >/export/data/zkdata/myid [root@node1 conf]#cat /export/data/zkdata/myid
远程拷贝给另外的虚拟机
[root @node1]#cd ~ [root@node1]#scp - r /export/server/zookeeper/ root@node2:/export/server/ [root@node1]#scp - r /export/server/zookeeper/ root@node3:/export/server/
出现报错了
[root@node1 ~]# scp - r /export/server/zookeeper/ root@node2:/export/server/
-: No such file or directory
r: No such file or directory
/export/server/zookeeper: not a regular file
报错:
- 这不是一个普通文件,而是一个文件夹,需要夹-r参数
原因是:
- 报错-r参数,我们书写时候加了,还是报错
- 说明-r加的不对,这时候发现-r中间都了空格
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。