Articles of shell

Powershell – 使用date

我有一个像这样的pclist.csv文件: ———————————————- | Name | LastLogonTimestamp | Some Other Data | ———————————————– | 2342 | 23/05/2012 | Blah Blah Blah | ———————————————– | 3433 | | Yada Yada Yada | ———————————————– 正如你所看到的,一些LastLogonTimestamp单元格不包含任何数据,有些可以。 我试图检查这个.csv使用像这样的PowerShellfunction: $assets = import-csv pclist.csv Function ActiveDesktop { foreach ($asset in $assets) { if ($asset.'LastLogonTimestamp' -le {get-date.adddays(-90) -format "ddMMyyyy"}) {write-host $asset.Name, $asset."LastLogonTimestamp"} } […]

通过达到内存限制重新启动VPS

当服务器使用比可用RAM多的内存时,系统将closures虚拟机。 然后,只能从外部引导(VPS控制面板,例如vePortal或SolusVM)。 但是,应该有可能在可能closures之前计划重新启动。 检查已用内存的最佳实践方法是什么?在达到例如90%的内存时重启系统? 有一个共同的程序或脚本来做到这一点? 我正在使用Debian / Ubuntu。

Sudoers文件权限

我试图运行下面的命令,而不需要sudo: echo 1 | sudo tee -a /sys/block/$hd/device/delete $ hdvariables从我的驱动器托架中的每个硬盘的sdb – > sdidynamic更改。 我将下面一行添加到sudoers文件中: operator ALL=/sys/block/sdb/device/delete 但是,即使我运行,这仍然没有改变它仍然要求sudo密码: echo 1 | sudo tee -a /sys/block/sdb/device/delete

在服务器部署上使用shell生成随机口令

当我运行我的自动部署脚本时,我试图随机生成安全的密码到我的各种configuration文件和设置。 我希望它们被生成,显示给用户,用作部署的一部分,然后被丢弃。 这就是我正在做的事情: # FUNCTION TO GENERATE A RANDOM STRING function randpass() { [ "$2" == "0" ] && CHAR="[:alnum:]" || CHAR="[:graph:]" cat /dev/urandom | tr -cd "$CHAR" | head -c ${1:-32} echo } $NOW = $(date +"%m-%d-%Y") || echo ="Time = $now" $APPKEY = randpass(20) || echo "Secret key = $APPKEY" read -p "Copied […]

如何运行带有进程的对话框命令

请看我的代码 – (bash脚本) 我想同时在屏幕上显示两个对话框, 一个对话框显示: tail -f from – /var/log/proccess1.log , 第二个对话框显示: tail -f从文件 – /var/log/proccess2.log 但令人遗憾的事实是,我只能显示一个对话框,而不能同时显示两个对话框(因为当我运行第一个对话框时,第二个对话框只有在第一个对话框将被终止时才会激活) 所以我在第二个对话框(… ..)上创build进程,以便显示这两个对话框 但是… 第二个对话框创build进程号但不创build第二个对话框GUI(看起来,当我们创build与进程的对话时,进程不会将对话框发送到标准输出) 那么如何用进程运行第二个对话框,但是将对话框的GUI发送到屏幕呢? 或其他解决scheme,以便在屏幕上显示两个对话框 我的代码 #!/bin/bash # this dialog will locate the tail box on the top of the screen dialog –begin 15 10 –tailbox /var/log/proccess1.log 13 125 # this dialog will locate the tail box […]

一个bash脚本的Cronjob随机停留2分钟

我一直在CEntOS 5.5机器上运行一个bash脚本,它检查远程mysql服务器上的复制。 该脚本创build一个临时locking文件,并计划每隔一分钟在Crontab中运行。 但是偶尔,cron工作不同步 – 暂停或延迟两分钟的工作,并尝试一次运行三个工作。 这是造成虚假警报,洪水我的邮箱说:“locking文件存在!可能的冲突”。 以下是可能感兴趣的脚本部分: #!/bin/sh lock_file=/tmp/slave_alert.lck finished=0 # Alert function function mail_alert () { cat /var/log/replication_check.log | mail -s "Replication check errors!" [email protected] } # Check if lock file exists if [ -f $lock_file ]; then echo "Lock file exists! Possible conflict!" > /var/log/replication_check.log 2>&1 mail_alert exit 1 else touch $lock_file […]

Cron作业忽略触发器url的一部分

我创build了一个cron作业,在设定的时间触发一个url,然后启动一个产品导入脚本。 但由于某些原因,带参数的触发器url的一部分被剥离了。 我设置了这样的cron作业: /usr/bin/wget -O /dev/null http://domain.nl/wp-cron.php?import_key=XXXXXXXXXX&import_id=3&action=processing 但它只运行http://domain.nl/wp-cron.php?import_key=XXXXXXXXXX 。 实际上告诉脚本做什么的最后部分在哪里? 谁知道为什么这样做,以及如何使其工作?

Nagios bash语法错误

我想引用这个问题到下面的post,我得到Skript: Post with Script 我正在使用Bash 4.1.2(1),当我尝试执行脚本时,出现以下错误消息: ./check_disk_by_size.sh: Zeile 9: [: ==: Einstelliger (unärer) Operator erwartet. (standard_in) 1: syntax error ./check_disk_by_size.sh: Zeile 13: [: -eq: Einstelliger (unärer) Operator erwartet. (standard_in) 1: syntax error (standard_in) 1: syntax error ./check_disk_by_size.sh: Zeile 16: [: Zu viele Argumente. (standard_in) 1: syntax error ./check_disk_by_size.sh: Zeile 19: [: -eq: Einstelliger (unärer) Operator […]

检查远程mysql是否正在运行

我想要一个bash shell脚本,我可以使用cron作业来检查远程服务器上的mysql是否正在运行。 如果是,那就什么都不要做,其他的启动服务器。 cronjob将每分钟检查一次远程服务器是否存在(或不)mysql。 我可以自己编写cron作业,但是我需要shell脚本的帮助来检查远程mysql是启动还是closures。 检查后的反应是否上升或下降并不重要。 但是检查很重要。 谢谢。

Powershell查询域中的计算机并获取证书值

我们正在查看环境中所有计算机的列表,并查看计算机上有哪些证书。 我们需要知道他们是sha1还是sha2哈希。 我在网上查找,不能看到这是甚至可能的? 请帮助