我很好奇是否有一种脚本友好的方法来计算apt list --upgradeable
. 这会产生一个很好的输出,每行只有一个升级候选,非常易于解析。但是,apt
还警告:
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
Run Code Online (Sandbox Code Playgroud)
所以我觉得我应该用venerableapt-get
来代替。不幸的是,它的输出看起来像这样:
apt-get -s --no-download dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following NEW packages will be installed:
dbus libdbus-1-3
The following packages will be upgraded:
bash gcc-8-base gpgv libedit2 libgcc1 libprocps7 libpsl5 libselinux1 libsemanage-common libsemanage1 libsepol1 libsqlite3-0 libstdc++6 perl-base
procps publicsuffix rsyslog twigpilot-core
18 upgraded, 2 newly …
Run Code Online (Sandbox Code Playgroud) 我有一个 ESXi 虚拟机,它可以在我们网络上的大约 700 个设备上执行命令。它正在使用Expect
,并且由于该设备的使用年限,它们有时会出现性能不佳的情况。这两者不能很好地混合 - 因为 Expect 脚本在继续之前必须等待很长时间才能获得输出。
为了避免这种情况,我们的团队决定ping
在连接到设备之前进行测试。如果出现丢包,我们稍后再讨论。
我们遇到的问题是我们的 ping 测试如下所示:
loss=`ping -i 0.2 -w 2 $1 | grep "packet loss" | awk '{print $6}'`
loss=${loss%?}
echo "$loss"
Run Code Online (Sandbox Code Playgroud)
两秒内 10 次 ping - 但我们得到很多9% 丢包响应。例如,我们通常有74/700测试由于丢包检测而提前退出。其中39/74的人报告为9%,其余的报告为 10 的倍数。
据我们所知,这实际上没有意义。有 10 个数据包正在发送...如果其中一个数据包丢失,则损失为 10%。这种情况很少被观察到,但确实发生了。是否有可能是内存中发生了某些事情导致了数字 9 的出现?如果这些是数据包丢失的合法实例,那么这对我们来说是个大新闻。
我希望我的 crontab 每 4 小时运行一次,但从某个时间下午 1 点开始:
我选择了这个配置:
0 1/4 * * *
Run Code Online (Sandbox Code Playgroud)
但如果我保存我收到错误:
bad hour errors in crontab file, can't install.
Run Code Online (Sandbox Code Playgroud)
以下工作完美,但我无法决定开始时间。
0 */4 * * *
Run Code Online (Sandbox Code Playgroud)