我想从下面的原始日志grep下面的信息: 2016-05-23 11:01:40 [1005583] 1b4ivg-004DZf-GX ** [email protected] F=<abbas@DomainName> P=<abbas@DomainName> R=dkim_lookuphost T=dkim_remote_smtp H=mx2.hotmail.com [65.54.188.72]:25 I=[IP Address]:56910 X=TLSv1.2:ECDHE-RSA-AES256-SHA384:256 CV=yes DN="/CN=*.hotmail.com": SMTP error from remote mail server after MAIL FROM:<abbas@DomainName> SIZE=275286: 421 RP-001 (BAY004-MC1F14) Unfortunately, messages from 16.23.21.111 weren't sent. Please contact your Internet service provider since part of their network is on our block list. You can […]
我想通过ssh连接我的远程机器,并且我必须连接到一个代理,然后在那个代理机器上连接我的远程机器(远程机器在代理机器的局域网中,并且没有私有IP地址)。 以下是我的命令来连接我的远程机器。 me@local_machine: ssh proxy # passwordless proxy@proxy_machine: ssh my_remote_machine # passwordless me@remote_machine: 我应该如何在本地机器上编写一个脚本来连接我的远程机器,以便我不需要多次inputssh命令来连接远程机器。 我在本地机器上写了一个脚本来连接代理,这里显示我的代码。 connect.sh ssh -p 22022 proxy@proxy 但是上面的脚本只是连接了代理机器,而在代理机器上,我仍然需要inputssh命令来连接远程机器。 我该怎么办,谢谢!
如下所示,我只希望命令echo "this is to stdout"输出到我的屏幕,而不是文件ok.log ,我该怎么办? 我searchexec shell命令的用法,但没有结果,请指教我 [root@161 tmp]# bash –version GNU bash, version 4.2.46(1)-release (x86_64-redhat-linux-gnu) Copyright (C) 2011 Free Software Foundation, Inc. [root@161 tmp]# cat 2.sh #!/bin/bash exec 1>ok.log exec 2>error.log #exist dir ls /home/ #no exist dir ls /etca/ #to stdout echo "this is to stdout" #other cmds …
在这个答案中 ,Sam表示为了让Windows相信我的Powershellconfiguration文件来执行,每当我打开一个PowerShell shell时,我应该可以and click "Properties." At the bottom of the dialogue box click "Unblock" and click "Properties." At the bottom of the dialogue box click "Unblock" ; 当我这样做时,我根本没有看到任何取消阻止checkbox。 我也不想通过设置Set-ExecutionPolicy Unrestricted来运行任何旧脚本。 我想在PowerShellconfiguration文件中自动加载在我select的networking上的PowerShell提示符下的function。 Instead when I load it I get the following error: . : File \\redirected.domain.org\Redirected\yy-xxx\My Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 cannot be loaded because running scripts is disabled on […]
我需要运行一个只能运行特定用户和组的脚本。 命令的格式就像 $PROGRAM_HOME/bin/installService.sh [USER [GROUP]] 我试着运行脚本 $PROGRAM_HOME/bin/installService.sh root root 但是我得到以下错误 ** ERROR: Only root user can install artifactory as a service 当我用sudo运行它时,我得到另一个错误 ** ERROR: Could not change values in /etc/init.d/artifactory 这是确切的错误 ** INFO: Please edit the files in /etc/opt/jfrog/artifactory to set the correct environment Especially /etc/opt/jfrog/artifactory/default that defines ARTIFACTORY_HOME, JAVA_HOME and JAVA_OPTIONS cp: /etc/init.d/artifactory: No […]
我想将文件中的date转换为纪元时间。 示例csv看起来像这样: $ cat test.jtl 2016/09/19 00:31:17.080,238,test1 2016/09/19 00:31:17.154,322,test2 22-Sep-2014 10:32:35.012,222,test3 我已经尝试了以下,但结果只是获取当前的date cat test.jtl | gawk 'BEGIN{FS=OFS=","} {command="date -d \"$1\" +'%s%3N'";command | getline $1;close(command);print}' 但是这只返回当前date。 我认为$ 1(第一个数据列,这是一个date)没有正确传递。 但不知道是什么问题。
我希望从shell脚本查询值SYS_UID_MIN,SYS_UID_MAX,SYS_GID_MIN,SYS_GID_MAX。 这些值在/etc/login.defs中显示为注释。 希望这反映了默认值,但这是不确定的。 不知何故程序useradd和groupadd可以确定这些值,所以它必须是可能的。 (我想可以看看他们的来源:))
我有一个这样的脚本运行的命令列表 Some-Cmdlet -someswitch | Outfile -filepath .\somefile.txt -append Another-Cmdlet -someswitch | Out-File -filepath .\somefile.txt -append Hello-Cmdlet -someswitch | Out-File -filepath .\somefile.txt -append Banana-Cmdlet -someswitch | Out-File -filepath .\somefile.txt -append 它实际上是创build这个somefile.txt的一长串命令。 如果必须更改somefile.txt的位置或名称,则必须逐一编辑每一行。 我想清理脚本的可维护性,所以我想是这样的: 对于以下命令列表: Some-Cmdlet -someswitch Another-Cmdlet -someswitch Hello-Cmdlet -someswitch Banana-Cmdlet -someswitch 总是把这个添加到命令中: | Outfile -filepath .\somefile.txt -append 这样我只需要在一个地方编辑脚本,如果somefile.txtpath或名称需要改变。
我有一个有很多VLAN的Debian服务器。 所有的vlan从1开始。我需要从文件中读取所有IP,并将其输出到其他文件中。 一切都好,但我有一个增量variables的问题。 if [ -f /root/ip ]; then for IP_ADD in `grep -v ^# /root/ip`; do eth=1 eth=`expr $eth + 1` cat >> "/root/inter" <<END auto eth0:$eth iface eth0:$eth inet static address $IP_ADD netmask 255.255.255.0 END done fi 运行这个脚本后,我有文件“inter”输出: auto eth0:2 iface eth0:2 inet static address 192.168.110.1 netmask 255.255.255.0 auto eth0:2 iface eth0:2 inet […]
我有一个自动化的部署者脚本,它将git提交到某个分支,编译并上传存档的二进制对象到云(S3)。 稍后,脚本login到EC2实例并下载档案并执行/启动项目/服务器。 到目前为止,这是完美的工作。 最近,我遇到了磁盘空间问题。 由于我也存储日志和维护当前/以前的工作提交,我的目录结构是这样的: /path /current/ <- symlink /prev/ <- symlink /HASH00001/ /HASH00002/ /HASH00003/ /HASH00004/ /HASH00005/ /…/ /…/ /HASH0000n/ /some.log /some.log.1 /some.log.2.gz /… 为了维护起见,我想删除/path中所有的特定git commit的SHA值的子目录。 但是,有一个警告, current和prev符号链接指向的目录不应该被删除。 到目前为止,我正在手动在任何面临存储问题的机器上。 我更喜欢我的部署脚本来照顾这一步。 我正在使用ls命令并根据上次访问时间戳对结果进行sorting: ls -drt | head -n -4 并将xargs rm -rf传送给它。 我现在正在考虑修改它,以便只列出长度正好为40个字符的目录名称,然后删除目录。 符号链接到current和prev 。 我可以得到一些关于如何实现相同的指针!