Articles of 复制

AWS – EC2 – MongoDB副本设置时间同步问题 – NTP – 复制滞后

我们遇到了在AWS上运行的MongoDB副本集的时钟漂移问题。 这似乎最近开始发生后,我们增加了额外的数据集,在那之前,我们没有真正注意到这个问题,除非系统负载很重。 mongod.log文件中偶尔会logging以下错误,系统未加载。 为了testing这个问题,我们已经隔离了一组具有相同数据集的机器,但是我们的Web应用程序没有使用,尽pipe这个错误仍然在发生。 2014-12-12T13:33:51.333+0000 [rsBackgroundSync] changing sync target because current sync target's most recent OpTime is Dec 12 13:32:42:c which is more than 30 seconds behind member mongo1:27017 whose most recent OpTime is 1418391230 从上面的时间戳可以看出,其中一个mongodb副本成员已经超过了一分钟。 我们所看到的最糟糕的是12分钟不同步。 这个错误反过来会导致复制滞后,我们从Mongo监控服务收到关于这个的通知,尽pipe它自己纠正了。 该设置是3 x r3.xlarge AWS Linux实例,在EU-West-1A地区的每个可用区域中都有1个。 已经使用Mongobuild议的设置,使用Raidarrays和Mongo提供的cloud formation脚本来设置机器。 数据大小约为4GB。 我们认为该问题与NTP同步相关,默认情况下,在AWS Linux Amazon Machine Image上,ntpd服务configuration为转到www.pool.ntp.org上托pipe的aws ntp服务器池。 为了解决这个问题,我们在AWS上设置了自己的MongoDB服务器可以同步的NTP服务器。 问题仍然存在,所以我们改变了mongo机器上的ntpd服务的maxpoll和minpoll时间,以便every 16 […]

部分复制.flif文件

我有一个压缩的.flif图像。 我如何复制它的一部分,以便我能够通过低带宽连接来模拟部分接收的文件?

无法将成员添加到MongoDB副本集

我试图configuration一个MongoDB副本集,但每次我尝试添加另一个成员失败。 我有3个成员,我正在尝试configuration。 他们的mongod.conf文件都是这样的: # mongo.conf #where to log logpath=/log/mongod.log logappend=true # fork and run in background fork = true smallfiles=true rest=true port = 27017 replSet=KidzpaceReplSet dbpath=/data 随着端口的接受。 他们分别是27017(小学),27018(中学)和27019(仲裁员)。 我已经证实,会员可以看到对方: [ec2-user@domU-12-31-39-06-C4-74 ~]$ mongo –host 174.129.232.170 –port 27018 MongoDB shell version: 2.4.3 connecting to: 174.129.232.170:27018/test > [ec2-user@domU-12-31-39-0A-30-E8 ~]$ mongo –host 174.129.230.20 –port 27017 MongoDB shell version: 2.4.3 […]

Neo4j:通过Dockerfile中的Shell脚本将文件夹复制到/ data目录

我想build立一个基于官方Neo4j镜像的Docker镜像。 在Dockerfile中,我将一个shell脚本添加到图像中,我在Dockerfile的下一步中执行该脚本。 在这个shell脚本中,我想将一个文件夹复制到数据目录(链接到/ data的/ var / lib / neo4j / data)。 但是,这不起作用。 没有错误语句,但该文件夹不存在于数据目录中。 cp -r wikipediadb /var/lib/neo4j/data/databases/wikipediadb

使用cp时文件大小发生变化

我遇到以下问题。 当我在Linux中使用cp命令将文件A复制到文件B时,这些文件的大小是不同的,例如A是6.4M,B是7.0M。 即使我在相同的目录中执行此操作也是如此(以避免不同驱动器上的块大小不同)。 这是关于什么的? 如何避免? 它会改变文件吗? 另外还有一些奇怪的行为。 如果我把文件A对应到文件B并且试图立即检查B的大小,那么它给出0或者例如6.2M,一段时间之后B的大小是7.0M并且是恒定的。 是否有可能捕获一些中间复制结果? 那为什么这么慢?

如何用dos批处理删除文件中的Ctrl-Z

我发现每次我把所有的文件连接成一个文件 copy *.txt all.txt ,在文件末尾有一个Ctrl-Z字符。 我不想要这个angular色。 有没有办法写一个批处理脚本来删除这个字符或避免这种情况发生? 我想要做的是 cat *.txt > all.txt 在Linux中。

数据库拓扑devise混乱

背景 我运行(读取:inheritance)一个networking,设置非常类似于共享主机提供商。 基础设施上有300-400个站点运行。 多年来,数据库拓扑结构变得非常分散,因为它与webserver-> database是一对一的关系。 问题 这些应用程序是由第三方devise公司devise的9个devise公司中的9个,这些公司devise了wordpress / joomla / drupal等。 数据库是随意分布在6个数据库服务器上的。 他们没有复制到任何地方。 应用程序没有独立的数据库句柄的概念来将INSERT分隔为一个主和一个SELECT分区。 使用单主内置mysql复制创build了一个巨大的瓶颈。 插入的数量会很快下降到master db。 题 我的问题是,如何让我的数据库拓扑尽可能平坦,同时为将来的可扩展性留出空间? 在将来,我想添加更多的地理位置到我的networking,可以复制相同的数据库在'底层networking'。 在过去,我已经研究了多主复制,但是看到了诸如auto_increment列碰撞之类的问题。 我接受企业解决scheme。 类似于用于Oracle复制的Shareplex产品。 无论解决scheme是什么,期望应用程序改变以适应这种新devise是不合理的。 因此,像auto_increment列这样的东西需要保持不变,凝胶整个集群。 目标 我的目标是为每个集群提供一个内部负载均衡的主机名,我可以指向所有的应用程序。 一世 这也将使我承担我目前不具备的容错能力。 目前,从旋转中删除数据库是不可能的。 像Cassandra和Hadoop这样的应用程序看起来与我想实现的非常相似,但NoSQL不适用于这些应用程序。 任何提示/指针/教程/文档/产品的build议非常感谢。 谢谢。

查找和复制硬盘上的所有图像

我试图find存储在我的内部硬盘上的所有图像,并将其复制到外部USB驱动器。 我发现这个Linux命令find所有的图像文件。 我怎样才能添加复制命令? find . -type f -print0 | xargs -0 file –mime-type | grep -i image

如何跨SMB安装PHP复制

我有一个简单的脚本,从一个SMB挂载到另一个SMB文件。 源文件系统是相同的,但Web服务器是不同的。 我使用PHP通过将文件复制到临时目录来处理文件,然后在其上执行其他任务。 这个设置是在一个时间点的工作,但似乎不能正常工作。 有人能指出我正确的方向吗? fstab坐骑 : //192.168.0.x/share /media/folder smbfs username=user,password=mypass //192.168.0.x/share2 /media/folder2 smbfs username=user,password=mypass php代码 : copy('/media/folder/filename.txt','/media/folder2/temp/filename.txt'); 错误 : Warning: copy(/media/folder2/temp/filename.txt): failed to open stream: Permission denied in /www/myphp.php on line xx 文件夹权限 (不是挂载,而是文件服务器上的源文件夹): /media/folder = 777 /media/folder2/temp = 777

为什么mmap()失败,文件复制程序的目标文件的权限被拒绝?

我想尝试通过使用mmap()在Linux中使用内存映射I / O将文件的内容复制到另一个文件。 目的是自己检查一下,如果这比使用fread()和fwrite()更好,它将如何处理大文件(例如,像GiBs几个,因为文件被读取整个我想知道,如果我需要有这样的内存量)。 这是我现在正在使用的代码: // Open original file descriptor: int orig_fd = open(argv[1], O_RDONLY); // Check if it was really opened: if (orig_fd == -1) { fprintf(stderr, "ERROR: File %s couldn't be opened:\n", argv[1]); fprintf(stderr, "%d – %s\n", errno, strerror(errno)); exit(EX_NOINPUT); } // Idem for the destination file: int dest_fd = open(argv[2], O_WRONLY | […]