Articles of 脚本

在目录中find旧文件

我正在编写备份轮换脚本,假设所有文件大于5天,并删除它们。 问题是我有一些奇怪的search结果。 例如: [root@spr1-nas01 storage]# date Wed Feb 8 14:48:09 EET 2017 [root@spr1-nas01 storage]# ll -rwxr-xr-x. 1 root root 1366884352 Dec 24 02:31 BACKUP_20161224 -rwxr-xr-x. 1 root root 51986944 Jan 28 19:37 BACKUP_20170128 -rwxr-xr-x. 1 root root 9681633280 Jan 31 06:45 BACKUP_20170131 所以我们得到了一些从现在开始5天以后的文件。 但我没有看到任何文件在'查找列表' [root@spr1-nas01 storage]# find . -ctime +5 -ls [root@spr1-nas01 storage]# 有任何想法吗?

当尺寸达到10M时,旋转

请提供build议/协助。 我想设置logrotate,它执行以下操作:当日志文件大小达到10M时,文件将被旋转,并且也不会保留较早的压缩日志文件。 我已经尝试了以下,不工作: log_file_path { size 10M delaycompress copytruncate missingok notifempty }

Bash脚本检索以太网networking接口的名称

在Ubuntu 16.04中,我根据一定的参数制作了一个脚本,用于configuration有线以太网接口的IP地址。 现在的问题是,在我的脚本中,我假设名称是eth0,但这并不总是如此。假设我只有一个有线networking接口(不需要插入),但我也可以有一个无线接口,我怎么能检索它的名字(只是有线的)? 与ifcommand我得到: enp7s0 Link encap:Ethernet HWaddr fc:3f:db:a2:6d:46 inet addr:192.168.0.101 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::149f:3103:af2f:1ec5/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:6784 errors:0 dropped:0 overruns:0 frame:0 TX packets:7493 errors:1 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:4565079 (4.5 MB) TX bytes:827825 (827.8 KB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 […]

批注脚本errorlevel问题与registry项

下面的脚本是为了检查teamviewer是否被安装,以及什么样的体系结构,它将会把它转换成十进制并将其打印到一个文件中。 每次,无论是否安装,此脚本的结果是“Teamviewer未安装” 我在这个脚本中找不到逻辑错误。 reg query "HKLM\Software\TeamViewer" /v "ClientID" if %ERRORLEVEL% == 1 ( reg query "HKLM\Software\Wow6432Node\TeamViewer" /v "ClientID" if %ERRORLEVEL% == 1 ( echo TEAMVIEWER NOT INSTALLED >> %computername%.nfo ) else ( for /f "tokens=3" %%a in ('reg query "HKLM\Software\Wow6432Node\TeamViewer" /v "ClientID"') do ( set /a decimal=%%a + 0 echo TEAMVIEWER ID: >> %computername%.nfo echo […]

在Windows 10 Pro中select用于Azure VPN的证书

我有两个不同的Azure帐户与VNet和P2S VPN连接到客户端。 每个客户端为每个VPN安装两个证书,并在计算机上configuration两个VPN,如下图所示。 在我的所有Windows 7 Pro计算机上,我可以select我要用于此刻连接的VPN的证书,如下图所示。 最近我的一台电脑升级到了Widows 10 Pro,现在我无法select我想要连接的证书。 错误消息:找不到VPN连接的证书。 有什么办法让Windows 7 Pro选项返回select证书。

将Microsoft帐户连接到域

我想在Windows 10 v1607上将标准域帐户链接到Microsoft帐户。 通常,您可以转到设置/帐户/您的信息,但不显示该选项。 我已禁用GPO来阻止Microsoft帐户,但没有任何更改。

DOS设置variables仅在执行后可用

我有一个非常简单的脚本,我想从文本文档(单行,一个值)中获取一个值,并将其传递给taskkill – 它也需要是一个class轮,所以我有: set /p pidtokill=<C:\temp\pid.txt && taskkill /F /PID %pidtokill% 问题是pidtokillvariables只是在taskkill命令执行后才更新,例如,如果我运行两次taskkill的作业,但第一次使用variables中存储的前一个值…为什么不是为taskkill命令设置“及时”的pidtokill值?

SED不能使用复杂的string

我有一个像这样开始的文件: [global] pid = /var/run/php-fpm/php-fpm.pid error_log = /var/log/php5-fpm.log 并想要更换 error_log = /var/log/php5-fpm.log 同 error_log = /var/log/php-fpm/error.log 我想为此使用一个脚本,并执行以下操作: search='error_log = /var/log/php5-fpm.log' replace='error_log = /var/log/php-fpm/error.log' for file in `find -name 'php-fpm.conf'`; do grep "$search" $file &> /dev/null if [ $? -ne 0 ]; then echo "Search string not found in $file!" else sed -i "s#$search#$replace#" $file fi […]

如何在PowerShell中扩展这个属性

我试图扩大会员财产在PowerShell的whithout成功:( 这是我的代码… Import-Module ActiveDirectory Get-ADGroup -Filter * -Properties * | Select-Object -Property Name, Description, GroupCategory,` @{Name='Members';exp={Get-adgroupmember $_.Name | Select -Expand Name |Select}} | format-list -Property Name, Members, Description, GroupCategory 会员属性,我想扩大

Git分支pipe理机器特定的脚本和定时器:好还是坏主意?

我有一个bash脚本,我需要使用systemd定时器在多个(个人)机器上运行。 尽pipe在很大程度上类似,但在某些机器上需要启用这些脚本中的某些function,而不是其他function。 现在,我使用git分支来pipe理脚本和定时器。 这似乎是方便和正常工作,但我想知道如果这是一个build议的做法。 虽然不太可能,但我确实发现了潜在的问题(人为引入错误):检查计算机上的错误分支。 我的问题: 这是否足以避免使用git? 还有其他潜在的问题,我可能没有考虑? 这种方法推荐用于pipe理多台机器上的脚本和定时器吗? 还是我最好(一)重写脚本,使他们更便携和可configuration,(二)只有机器特定的文件,没有混帐分支,(三)其他?