AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-425126

Teatree's questions

Martin Hope
Teatree
Asked: 2021-10-27 22:31:57 +0800 CST

查找:使用正则表达式获取路径中具有特定目录名称但路径中没有另一个特定目录名称的所有文件

  • 2

我正在尝试使用 find 返回在其路径中具有特定目录但在文件路径中的任何位置都没有另一个特定目录的所有文件名。就像是:

myRegex= <regex> 
targetDir= <source directory>
find $targetDir -regex $myRegex -print

我知道我也可以通过将一个 find 命令传递到另一个命令来做到这一点,但我想知道如何使用单个正则表达式来做到这一点。

例如,我希望每个文件的路径中都有目录“好”,但无论组合如何,在其路径中的任何地方都没有目录“坏”。一些例子:

/good/file_I_want.txt #Captured
/good/bad/file_I_dont_want.txt #Not captured

/dir1/good/file_I_want.txt #Captured
/dir2/good/bad/file_I_dont_want.txt #Not captured

/dir1/good/dir2/file_I_want.txt #Captured
/dir1/good/dir2/bad/file_I_want.txt #Not captured

/bad/dir1/good/file_I_dont_want.txt #Not captured

请记住,某些文件名可能包含“好”或“坏”,但我只想说明目录名称。

/good/bad.txt #Captured
/bad/good.txt #Not captured

我的研究表明我应该使用 Negative Lookahead 和 Negative Lookbehind。但是,到目前为止,我尝试过的任何方法都没有奏效。一些帮助将不胜感激。谢谢。

find command-line
  • 3 个回答
  • 4364 Views
Martin Hope
Teatree
Asked: 2021-10-01 12:03:19 +0800 CST

需要帮助阅读 rsync 日志。使用 rsync 检查克隆磁盘与原始磁盘具有相同文件的问题

  • 0

我使用dd克隆了一个驱动器。我多次停止并恢复该过程,因此我想确保所有文件都成功复制。

我使用文件管理器进行了一些浏览,文件似乎匹配。我还在一些文件上运行了md5sum ,它们的 md5 哈希值匹配。看起来 dd 克隆是成功的,但我想完全确定。有两个许多文件和目录可以手动检查所有内容。我试图通过使用rsync进行校验和检查来验证正确复制的文件:

rsync -avrcn --log-file="/home/user_name/rsync-log.txt" /media/drive1 /media/drive2

然而, rsync-log.txt 只有多行这样的:

2021/09/27 21:21:12 [86457] cd+++++++++ documents/
2021/09/27 21:21:12 [86457] cd+++++++++ documents/spreadsheets/
2021/09/27 21:21:12 [86457] cd+++++++++ documents/spreadsheets/more-spreadsheets/

虽然 rsync 日志过于日志,无法手动检查,但看起来只列出了目录而不是单个文件。

我不确定如何阅读此日志文件。我在“--itemize-changes”下查看了man rsync 。如果我没看错,看起来日志文件说这些文件夹在 drive2 上不存在(即使看起来它们在文件管理器中存在)。

这里发生了什么?我是在错误地读取 rsync 日志文件还是使用了错误的 rsync 命令?作为旁注,是否有一个很好的在线参考来阅读带有实际日志文件示例的 rsync 日志文件?谢谢。

编辑:我认为@roaima 发布的解决方案有效。这是我的整个新日志文件:

2021/09/30 19:35:41 [78771] building file list
2021/10/01 11:44:07 [78771] sent 86,960,331 bytes  received 87,516 bytes  1,498.07 bytes/sec
2021/10/01 11:44:07 [78771] total size is 2,984,736,671,932  speedup is 34,288.46 (DRY RUN)
rsync cloning
  • 1 个回答
  • 69 Views
Martin Hope
Teatree
Asked: 2021-09-19 18:39:38 +0800 CST

LVM:如何克隆多磁盘加密逻辑卷?

  • 0

我正在运行 Arch Linux。我想在单个卷组(LVM 上的 LUKS)中克隆 2 个磁盘加密的逻辑卷。有一个小问题。我想交换一些驱动器。

我有:

  • VG1: LV: PV(OldDrive1) + PV(OldDrive2)
sda (OldDrive1)
    -vg1-luks_encrypted_lv
sdb (OldDrive2)
    -vg1-luks_encrypted_lv

我还有另外两个驱动器(NewDrive1 和 NewDrive2)。我想创建一个 VG2,它是 VG1 的克隆。但是,我想交换一些驱动器。所以我想要:

  • VG1:LV:PV(旧驱动器1)+ PV(新驱动器1)
  • VG2: LV: PV(OldDrive2) + PV(NewDrive2)
sda (OldDrive1)
    -vg1-luks_encrypted_lv
sdb (OldDrive2)
    -vg2-cloned_luks_encrypted_lv
sdc (NewDrive1)
    -vg1-luks_encrypted_lv
sdd (NewDrive2)
    -vg2-cloned_luks_encrypted_lv

我目前的计划是克隆每个驱动器。我以前在考虑使用 dd,但是在阅读了一些内容之后,也许我需要使用 pvmove?:

  • 旧驱动器 1 -> 新驱动器 1
  • 旧驱动器 2 -> 新驱动器 2

然后我可以只交换 LVM 中的物理驱动器,因为驱动器是逐位克隆的吗?我担心我错过了什么。我如何将新闻驱动器合并到 LV 中?我会很感激一些建议,因为我不想丢失任何数据。谢谢。


编辑:

@telcoM 的回答效果很好。非常感谢。我用的是网上的方法。如果有人想做类似的事情,那么值得注意的事情很少。

在第 7 步:

现在lvconvert -m默认是raid1,不是lvm自己的镜像系统。阅读man lvconvert了解更多详情。由于我想立即拆分镜像,因此使用 lvm 的遗留镜像和存储在内存中的镜像日志要容易得多:

lvconvert --type mirror -m +1 --mirrorlog core vg1/luks_encrypted_lv OldDrive2 NewDrive2

请记住,--mirrorlog core将镜像日志放入内存中。所以在运行之前不要关闭你的电脑,lvconvert --splitmirrors否则你会丢失你的mirrorlog文件。

在第 9 步:

在您这样做之前,vgsplit您需要卸载文件系统并停用逻辑卷。

在第 11 步:

大多数人可能都意识到了这一点,但是您需要$uuid在运行之前分配一个 UUID cryptsetup luksUUID --uuid $(uuid) /dev/mapper/VG2-LVx。先运行类似的东西uuid=$(uuidgen)。

lvm encryption
  • 2 个回答
  • 349 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve