小编Tho*_*mas的帖子

如何获取远程计算机的磁盘容量和可用空间

我有这个单行:

get-WmiObject win32_logicaldisk -Computername remotecomputer
Run Code Online (Sandbox Code Playgroud)

输出是这样的:

DeviceID     : A:
DriveType    : 2
ProviderName :
FreeSpace    :
Size         :
VolumeName   :

DeviceID     : C:
DriveType    : 3
ProviderName :
FreeSpace    : 20116508672
Size         : 42842714112
VolumeName   :

DeviceID     : D:
DriveType    : 5
ProviderName :
FreeSpace    :
Size         :
VolumeName   :
Run Code Online (Sandbox Code Playgroud)

如何获得FreespaceSizeDeviceID C:?我需要提取这两个值而没有其他信息.我用Selectcmdlet 尝试过,但没有效果.

编辑: 我只需要提取数值并将它们存储在变量中.

powershell scripting powershell-2.0

101
推荐指数
9
解决办法
55万
查看次数

在postrotate脚本之后logrotate压缩文件

我有一个应用程序每天生成一个非常重的大日志文件(每天约800MB),因此我需要压缩它们但由于压缩需要时间,我希望logrotate在重新加载/向应用程序发送HUP信号后压缩文件.

/var/log/myapp.log {
    rotate 7
    size 500M
    compress
    weekly
    postrotate
        /bin/kill -HUP `cat /var/run/myapp.pid 2>/dev/null` 2>/dev/null || true
    endscript
}
Run Code Online (Sandbox Code Playgroud)

压缩是否已经发生在postrotate之后(这会违反直觉)?如果没有,任何人都可以告诉我,如果没有额外的命令脚本(一个选项或一些技巧)可以做到这一点吗?

谢谢托马斯

linux compression shell logging logrotate

15
推荐指数
3
解决办法
4万
查看次数

使用map提取匹配指定值的(key,value)哈希集

我一直在寻找一种使用perl函数执行以下操作的方法map:给定一个哈希,我想提取值等于或匹配指定参数的对(键,值).

在我的例子我想从哪里提取(键,值)对value = failed,但它也可能是一个表达式(即以A开头的字符串或正则表达式).这就是为什么我想要一个哈希值,而不仅仅是一个与值匹配的键表.

my %strings = (
    bla => "success",
    ble => "failed",
    bli => "failed",
    foo => "success",
    blo => "failed",
    bar => "failed",
    blu => "success"
);

my %failed_s = ();

while (my ($k, $v) = each %strings) {
    if ( $v eq 'failed' ) {$failed_s{$k} = $v};
};
Run Code Online (Sandbox Code Playgroud)

我尝试了几种方法,但没有很好的结果,所以我觉得我对引用,矫揉造作,结果等感到困惑.

my %failed_s = 
    map { { $_ => $strings{$_} } 
    if ( $strings{$_}./failed/ ) } 
    keys %strings;
my %failed_s = 
    map { ( …
Run Code Online (Sandbox Code Playgroud)

perl map extraction

6
推荐指数
2
解决办法
1万
查看次数

如何全局设置 Go 环境变量

当我声明我的 Go 环境时(即使用简单导出的 GOPATH 和 GOROOT):

export GOROOT=/usr/lib/go-1.9/
export GOPATH=/my/workspace/go
Run Code Online (Sandbox Code Playgroud)

当前终端正常识别变量,但如果我打开另一个终端窗口,这些变量没有设置,需要从头开始重新配置。

除了像编辑 .bashrc 文件这样的常见方法之外,是否有一种特定于 go 的方法来设置 go 环境变量的默认值?

bash environment-variables go

-1
推荐指数
1
解决办法
1万
查看次数