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
    • 最新
    • 标签
主页 / server / 问题

问题[pipe](server)

Martin Hope
M.Ch.
Asked: 2021-04-05 11:08:03 +0800 CST

管道 nc 到 sed 并评估每行的日期时间

  • 0

有人可以提供任何想法,我如何将数据从 nc 传输到 sed(或 awk 或其他任何东西)并在每行之后评估并写入文件时间戳?我有的:

# cat /etc/systemd/system/ncserver.service
[Unit]
Description=netcat listener
After=network.target

[Service]
Restart=always
RestartSec=1
ExecStart=/usr/bin/bash -c '/usr/bin/nc -n -v -l -k -p 1313 >> /opt/data/$(hostname)-$(date -u +%%y%%m%%d-%%H).txt'

[Install]
WantedBy=multi-user.target

简单的侦听器 - 通过原始 tcp 接收文本,发送到文件中(每天由 cron 重新启动一次以生成新文件)

我想将当前时间戳附加到每一行文本(在行的开头或结尾,没关系)。尝试过 sed、awk,但问题是我无法评估date每一行 - 它仅在服务启动时评估一次。看起来像这样

109582 ?        Ss     0:00 /usr/bin/bash -c /usr/bin/nc -n -v -l -k -p 1313 | /usr/bin/sed 's/^/'$(date +%s)
 109583 ?        S      0:00 /usr/bin/nc -n -v -l -k -p 1313
 109584 ?        S      0:00 /usr/bin/sed s/^/1617555467\;/g

管道可能根本不是答案,但我有点受到 bash 的限制。有任何想法吗?..

bash text pipe sed nc
  • 2 个回答
  • 240 Views
Martin Hope
The amateur programmer
Asked: 2020-07-29 07:09:50 +0800 CST

Linux 做 STDOUT | STDIN管道将数据写入磁盘?

  • 0

我正计划zfs load-key pool/set通过标准输入传递加密密钥。传递的密钥由另一个 HEX 格式的程序生成,并且数据集被配置为具有keylocation=prompt, keyformat=hex,因此密钥可以通过标准输入传递,如下所示someprogram | zfs load-key pool/set:

现在我担心即使我真的不希望这种情况发生,shell 是否有可能将这个传递的密钥数据写入磁盘的某个位置?如果在将 STDOUT 传输到 STDIN 的过程中将密钥写入磁盘的某个位置,那么它可能会被恢复,因为主 os 磁盘本身没有加密。

shell pipe zfsonlinux stdout stdin
  • 1 个回答
  • 240 Views
Martin Hope
Nanzikambe
Asked: 2020-03-08 04:44:48 +0800 CST

运行从标准输入管道传输的多行 bash 脚本

  • 0

我正在寻找一种简单的方法来在文档中包含内联的多行脚本,以使其每个步骤的作用透明。

这有效

echo "echo 1234" | bash

这也是

echo 'for N in 1 2 3; do echo $N; done' | bash

但是,我想使用这样的东西(这不起作用):

echo <<EOF | bash
for N in 1 2 3; do
echo "N is ${N}"
done
EOF

更新,到目前为止最接近的工作解决方案是:

cat <<EOF|bash
for N in 1 2 3 4; do
    echo "N is now \$N"
done
EOF

理想情况下,虽然我不想逃避\$N

正确的解决方案不会:

  • 使用未安装的工具 默认 debian 配置
  • 涉及临时文件
  • 下载脚本(curl -o - htpp://blah.com/script | bash等)

理想情况下,读者可以复制粘贴,按回车,无需进一步操作即可执行。

linux bash pipe shell-scripting stdin
  • 2 个回答
  • 2714 Views
Martin Hope
John W. Nesk
Asked: 2017-02-09 13:45:41 +0800 CST

大型mysql转储管道到s3

  • 0

使用大量数据执行此操作有什么问题吗?

mysqldump ... | gzip | s3cmd put - s3://bucket/file.sql.gz

MySQL 转储的大小约为 100GB。如果 gzip 或 s3cmd 不能足够快地处理转储会发生什么?它会溢出管道缓冲区吗?

backup mysql amazon-s3 gzip pipe
  • 2 个回答
  • 930 Views
Martin Hope
Rick
Asked: 2016-07-15 08:04:28 +0800 CST

我可以使用 `-f` 标志过滤来自 `tail` 的输出吗?

  • 1

我想在 RHEL 6.8 上tail -f输出,access_log但管道和 grep 输出作为过滤器。有这样的选择吗?

那就是我想要的实时输出:

# tail -f error_log | grep <<ON.THIS.IP.ADDY>>

目前我正在做类似的事情,但它很笨重:

watch -n 5 'tail -n 10 access_log | grep <<ON.THIS.IP.ADDY>>'
bash grep tail pipe rhel6
  • 1 个回答
  • 219 Views
Martin Hope
Jeffrey L. Roberts
Asked: 2016-04-18 00:19:49 +0800 CST

Cat,Grep,重定向输出......空白文件?

  • 8

我刚跑

cat /opt/webapplications/Word/readme.log | grep -v 'Apple'

我在 cli 上得到了我所期待的输出,其中所有的行readme.log都不包含 ' Apple'...

接下来我跑了...

cat /opt/webapplications/Word/readme.log | grep -v 'Apple' > /opt/webapplications/Word/readme.log

然而,/opt/webapplications/Word/readme.log是空白的。

谁能向我解释为什么会发生这种情况,或者我应该采取的正确方法?

bash grep pipe cat
  • 2 个回答
  • 3027 Views
Martin Hope
w00t
Asked: 2012-07-22 03:30:59 +0800 CST

带管道的 WATCH 命令

  • 1

在这里,我如何执行watch此命令:
netstat -plan|grep :80|egrep -v "(:8082)|(:8080)|(:8081)"|awk {'print $5'}|cut -d: -f 1|sort|uniq -c|sort -n

用单引号/双引号括起来时会出错。

pipe
  • 1 个回答
  • 1691 Views
Martin Hope
facha
Asked: 2012-06-23 12:17:50 +0800 CST

从 tar 到 ftp 的管道

  • 3

我可以通过 ftp 访问不受我控制的服务器。我想开始将我服务器的 FS 存档发送到那个 ftp。问题是我的系统上没有足够的可用空间来先创建备份存档(并将其存储在我的 fs 上),然后将其发送到 ftp。所以我想知道是否可以这样做:

tar -jcpvf - / | ftp-put ftp://user:pass@host/file.tbz 

通常通过 ssh 没有问题,但在这种情况下我只有 ftp 可用。

backup ftp pipe
  • 1 个回答
  • 2621 Views
Martin Hope
carrot
Asked: 2012-06-22 06:33:47 +0800 CST

后缀“邮件到脚本”管道仅传送空邮件

  • 0

我这里有问题。

我希望通过 postfix 将传入的电子邮件传输到系统中的 php 脚本。

我的系统正在运行 ispconfig 3、postfix 和 dovecot(< 虚拟邮箱用户保存在 mysql 中)。

我已经研究过这个:How to configure postfix to pipe all incoming email to a script?

...脚本已执行,但没有“消息”传递给脚本。到目前为止我的设置:

在 ISPConfig 3 中,我设置了以下电子邮件路由:

Active      Server          Domain              Transport   Sort by
Yes         example.com     pipe.example.com    piper:      5

摘自我的后缀 master.cf:

piper   unix  -       n       n       -       -       pipe
    user=piper:piper directory=/home/piper argv=php -q /home/piper/mail.php

到目前为止它运行良好(邮件发送到 [email protected])(mail.log):

Jun 21 16:07:11 example postfix/pipe[10948]: 235CF7613E2: to=<[email protected]>, relay=piper, delay=0.04, delays=0.01/0.01/0/0.02, dsn=2.0.0, status=sent (delivered via piper service)

...并且 mail.err 中没有错误

mail.php 成功执行(它的 chmod 777 和 chown'ed 到 piper),但创建一个空的 .txt 文件(通常它应该包含电子邮件消息):

-rw------- 1 piper piper    0 Jun 21 16:07 mailtext_1340287631.txt

我使用的 mail.php 脚本来自http://www.email2php.com/HowItWorks

如果我使用他们的(商业)服务通过提供的“pipe-email”将电子邮件通过管道发送到 mail.php(在 apache2 环境中),则该消息将成功保存并完成。但如您所见,我不想使用外部服务。

-rw-r--r--  1 web2 client0  1959 Jun 21 16:19 mailtext_1340288377.txt

那么,这里出了什么问题?我认为这与我系统中的“传递配置”有关......

php email postfix pipe
  • 1 个回答
  • 2306 Views
Martin Hope
JMW
Asked: 2012-06-20 08:03:04 +0800 CST

如何将数据通过管道传输到 sftp 连接?

  • 15

ftp 支持将put "|..." "remote-file.name"数据通过管道传输到 ftp 连接的命令。sftp 有类似的东西吗?

在 sftp 中,我收到以下错误:

sftp 'jmw@backupsrv:/uploads'
sftp> put "| tar -cx /storage" "backup-2012-06-19--17-51.tgz"
stat | tar -cv /storage: No such file or directory

如上所述,sftp 客户端显然没有执行命令。

我想使用 pipe 命令直接将文件流重定向到 sftp。(因为在将其上传到 sftp 服务器之前,没有足够的空间在同一磁盘上创建备份文件。)

ssh sftp pipe
  • 4 个回答
  • 17090 Views

Sidebar

Stats

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

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve