尝试制作同步管道时,我需要在将 csv 文件保存在 Google Cloud Storage 中后从 Google Cloud Storage 复制它。复制作业不必在保存后立即触发,它也可以至少在某个时间范围内发生。在文件保存之前可能不会发生。因此,触发事件或 cronjob 都是可能的,或者您可能会提出其他建议。
保存在 Google Cloud Storage 中后,如何触发复制所选 csv 文件?我可以使用云功能来完成复制工作还是有其他方法?
尝试制作同步管道时,我需要在将 csv 文件保存在 Google Cloud Storage 中后从 Google Cloud Storage 复制它。复制作业不必在保存后立即触发,它也可以至少在某个时间范围内发生。在文件保存之前可能不会发生。因此,触发事件或 cronjob 都是可能的,或者您可能会提出其他建议。
保存在 Google Cloud Storage 中后,如何触发复制所选 csv 文件?我可以使用云功能来完成复制工作还是有其他方法?
我已经彻底阅读了这个问题:复制一系列字段并尝试了大部分答案。
我将数据导出为一个,.json
然后将.json
文件拆分为较小的序列化文件,每个文件有 50k 行。
$ls
smaller_aaaa smaller_aaak smaller_aaau smaller_aabe smaller_aabo smaller_aaby smaller_aaci smaller_aacs smaller_aadc smaller_aadm
smaller_aaab smaller_aaal smaller_aaav smaller_aabf smaller_aabp smaller_aabz smaller_aacj smaller_aact smaller_aadd smaller_aadn
smaller_aaac smaller_aaam smaller_aaaw smaller_aabg smaller_aabq smaller_aaca smaller_aack smaller_aacu smaller_aade smaller_aado
smaller_aaad smaller_aaan smaller_aaax smaller_aabh smaller_aabr smaller_aacb smaller_aacl smaller_aacv smaller_aadf smaller_aadp
smaller_aaae smaller_aaao smaller_aaay smaller_aabi smaller_aabs smaller_aacc smaller_aacm smaller_aacw smaller_aadg smaller_aadq
smaller_aaaf smaller_aaap smaller_aaaz smaller_aabj smaller_aabt smaller_aacd smaller_aacn smaller_aacx smaller_aadh smaller_aadr
smaller_aaag smaller_aaaq smaller_aaba smaller_aabk smaller_aabu smaller_aace smaller_aaco smaller_aacy smaller_aadi smaller_aads
smaller_aaah smaller_aaar smaller_aabb smaller_aabl smaller_aabv smaller_aacf smaller_aacp smaller_aacz smaller_aadj smaller_aadt
smaller_aaai smaller_aaas smaller_aabc smaller_aabm smaller_aabw smaller_aacg smaller_aacq smaller_aada smaller_aadk
smaller_aaaj smaller_aaat smaller_aabd smaller_aabn smaller_aabx smaller_aach smaller_aacr smaller_aadb smaller_aadl
我想将文件从 to 复制smaller_aaau
到smaller_aadd
当前目录中的新目录中。
这些的变化以及
cp smaller_aa{au..dd} ./GlobalBuckets
我还尝试使用 bash 脚本:
#!/bin/bash
for file in {au..dd};do cp smaller_aa$file ~/Downloads/SPLIT/GlobalBuckets;done;
bash script
两种方法的错误:
cp: cannot stat 'smaller_aa{au..dd}': No such file or directory
按照这个答案,我想复制 OpenSSL 的配置,并进行一组特定的更改。原始文件不在我的控制范围内,所以我无法将其设为模板。
目前我有:
- name: Make a copy
copy:
src: original.cnf
dest: copy.cnf
force: no
- name: Modify
ini_file:
path: copy.cnf
section: ...
option: ...
value: ...
此更改序列是幂等的,但如果原始文件发生更改,则更改不会传播到副本。如果我将其更改为force: yes
,则将传播原始更改,但每次运行剧本时都会执行更改。这是有问题的,因为我需要在发生变化的情况下重新启动依赖服务,但显然这不能每次都发生。
有没有办法以这样一种方式维护副本,即当且仅在需要时修改目标文件?
Azure 上托管磁盘的增量快照是一个相对较新的事物,并且没有完整记录,所以我有一个关键问题:
如果我有磁盘的增量快照 A、B、C 和 D(第一个是显式完整快照),并且 D 具有最新状态,那么在不丢失数据的情况下删除快照 B 和 C 是否安全?通过这个,我正在考虑两种情况:
从增量快照 D 恢复/创建新的托管磁盘?所有的变化都会与最新的“真实”状态保持一致吗?
复制到新区域。文档中的多个地方都在吹捧这些增量快照允许部分复制到另一个区域或存储帐户,因此可以实现自定义灾难恢复,而无需复制支持托管快照的整个 blob。我试过了,它可以工作,但如果中间快照(我的例子中的 B 和 C)被删除,这仍然可能吗?
在 AWS 上这是正常的,因为在 AWS 上删除增量快照只会删除该特定快照中存在的数据,以后不再引用。
我需要合并两个没有重复条目的文件。有什么办法可以通过ansible模块实现它。例如,我有两个文件 /etc/hosts1 和 /etc/hosts2。我需要一个 /etc/hosts 文件,其中包含 /etc/hosts1 和 /etc/hosts2 中存在的所有条目而没有重复的条目。我怎样才能做到这一点。一个例子将不胜感激
- name: Merge two files
assemble:
src: /etc/hosts1
dest: /etc/hosts2
上面的 assemble 模块失败
我目前正在将大型目录树从外部 HDD 复制到服务器的内部存储。复制操作的性能基本相当不错,即通过USB2连接外置硬盘时为35MB/s。
但是,我只获得了大约 30 秒的性能,然后复制过程没有得到任何 CPU 时间。这意味着,rsync(以及 cp)不会复制任何数据,不会更新其标准输出,或对 SIG-TERM 做出反应。大约 1 分钟后,它再次被调度并以 35MB/s 的速度再次复制 30 秒,然后再没有任何东西,依此类推。
有谁知道这里会发生什么或给我命名任何工具来调查正在发生的事情?我已经将 rsync 进程的 nice 值增加到 19,但这并没有改变任何东西。在rsync的空闲时间内,整个系统处于空闲状态(没有其他IO,没有其他占用CPU的进程。基本上整个系统都是空闲的)。在活动期间,rsync 进程具有三个线程,它们在“运行”、“不可中断睡眠”和“可中断睡眠”之间切换。在非活动期间,所有线程要么处于“不可中断睡眠”状态,要么处于“可中断睡眠”状态。正因为如此,我认为 rsync 必须等待一些持久的 IO 操作。但是我怎么能确定什么操作需要这么多时间呢?
该系统在 5.4.34-1-pve linux 内核上运行,内部存储是 LVM 上的 LUKS 加密 ZFS 文件系统。LVM 位于 mdadm RAID 5 之上。我用来启动 rsync 的命令是:rsync -ah --no-compress --progess
感谢您的任何建议!
我一直在使用带有 switch MT 的 robocopy,并且确实在应对时间上有所不同。
我想知道为什么 CPU 踏板在复制文件时会成为瓶颈,或者是什么让多线程复制的 robocopy 更快。
我在多台服务器上工作,需要将大量数据从一台(生产)复制到另一台(暂存)。源服务器(生产)有一个用于共享文件的 NAS,可通过符号链接访问这些文件。
rsync -aL --delete production-2::www/html /var/www/ > /var/log/assets-sync.log
在日志中,我得到以下输出:
symlink has no referent: "/html/share" (in www)
symlink has no referent: "/html/files" (in www)
symlink has no referent: "/html/assets" (in www)
我有大量文件存储在 AWS S3 存储桶中。我需要将这些文件放到另一个用户拥有的另一个 S3 存储桶中,并且位于不同的区域。这些文件存储在我的 S3 存储桶中的不同位置——这些密钥(例如location1
& location2
)也需要传输过来。两个 S3 存储桶都与 AWS EC2 Ubuntu 服务器相关联。这是我的 S3 存储桶的结构示例:
s3://mybucket/location1/some_file
s3://mybucket/location1/some_file2
s3://mybucket/location2/some_file
etc...
考虑到这些限制,哪种方法将文件从 S3 传输到 S3 最有效?