我只想从我的邮件日志文件中获取以“@xyz.nl”结尾的电子邮件地址。为了实现这一点,我这样做:
# tail -f /var/log/mail.log | grep --i --line-buffered "@xyz.nl" | cut -d '@' -f 1 | cut -d '<' -f 2
Run Code Online (Sandbox Code Playgroud)
带 grep 的 --line-buffered 是必要的,因为否则它会缓冲其输出,因为管道不被视为终端。Grep 将输出这样的行:
Aug 29 11:56:01 localhost postfix/smtp[4124]: 05491500123: to=<someone@xyz.nl>, relay=123.456.123.456[123.456.123.456]:25, delay=2, delays=0.4/0/0.4/1.2, dsn=2.0.0, status=sent (250 2.0.0 u7T9twxN074009 Message accepted for delivery)
Run Code Online (Sandbox Code Playgroud)
然后第一次切割:
Aug 29 11:56:01 localhost postfix/smtp[4124]: 05491500123: to=<someone
Run Code Online (Sandbox Code Playgroud)
第二次切割应生成:
someone
Run Code Online (Sandbox Code Playgroud)
然而,似乎 cut 也在缓冲。如果我用cat而不是tail -f启动命令,我会从日志文件中获得所有相关结果(以首选格式)。但我需要实时从日志文件中获取结果。
我尝试为此使用 unbuffer:
# tail -f /var/log/mail.log | grep --i --line-buffered "@xyz.nl" | unbuffer cut -d …
Run Code Online (Sandbox Code Playgroud) 在 Debian 9.1 上运行 MariaDB 10.1.23-MariaDB-9+deb9u1。全新的操作系统安装,安装了 MariaDBapt-get install mariadb-server mariadb-client
显然 MariaDB 在安装时不会要求输入 root 密码,所以我将在事后设置它:
# mysql -uroot
> select user from mysql.user;
+------+
| user |
+------+
| root |
+------+
Run Code Online (Sandbox Code Playgroud)
好的,所以 root 存在。现在更改其密码:
> set password for 'root'@'localhost' = PASSWORD('P@ssw0rd');
> flush privileges;
> exit
Run Code Online (Sandbox Code Playgroud)
它起作用了吗?
# mysql -uroot -pblabla
MariaDB [(none)]>
Run Code Online (Sandbox Code Playgroud)
设置密码没问题,但为什么 MariaDB 接受任何随机密码,甚至是空密码?
此安装不接受 ALTER USER 语句。
我有两台 Debian 8 服务器:
两者都是宠物项目,而不是商业项目。
服务器 B 运行 rsnapshot 运行良好。服务器 A 和 B 可以使用证书以 SSH 方式相互连接,这也可以正常工作。他们不允许 root 直接通过 SSH 登录,但他们有可以 sudo su 成为 root 的普通用户帐户。对于非自动化 SSH 会话,我使用受密码保护的证书。
最近几天我一直在尝试在服务器 B 上设置 rsnapshot 以创建从服务器 B 到服务器 A 的备份,或者在服务器 A 上将备份从服务器 B 拉到服务器 A,根据 rsnapshot 文档,这似乎是正确的方法。
我的问题是很多文档都相对地提到了服务器,例如他们说“在您的服务器上执行 x”或“将 y 复制到 ~/somepath”。我很少找到明确列出哪个服务器具有哪些功能以及您需要将 y 复制到哪个用户的主目录的文档。
所以:
问题:
在 rsnapshot 配置中,我需要说哪个用户帐户将通过 SSH 在服务器 B 上登录?root(变得复杂或不安全)或专用的常规用户帐户,例如名为“backupmaker”的用户(Debian 有一个名为“backup”的系统用户,它符合条件,但我不想弄乱)。
我已经阅读了这两本书,并且我理解 Linux 的口头禅,更多方法可以很好,但我真的在寻找一些在生产环境中设置了这个的人的一些实践建议,最好是来自 /etc/rsnapshot.conf 和 / home//.ssh/authorized_keys(你真的使用 from="abcd",command="/home/remoteuser/cron/validate-rsync",并且'validate-rsync'脚本是强制性的还是可以是任何命令,例如/home/serverAuser/myrsnapscript.sh?)。
您是否使用 …