我有一个bash脚本: #!/bin/bash set -x PATH=/bin:/sbin:/usr/bin:/usr/sbin server="$1" curdate=$(date +'%Y%m%d') sshoptions="-i /root/.ssh/backup -q -t" mysqluser="root" mysqlpassword=$(ssh $sshoptions root@$server "cat /root/.my.passwd") mysqlaccess="-u$mysqluser -p$mysqlpassword" mysqldatabases=$(ssh $sshoptions root@$server "mysql $mysqlaccess -B -N -e \"SHOW DATABASES;\" | grep -E -v 'information_schema|mysql'") mysqldump="mysqldump $mysqlaccess –opt –skip-comments -B -R" for db in $mysqldatabases; do echo "$(date +"%Y/%m/%d %H:%M:%S") mysqldump: dump $db" ssh $sshoptions […]
在google的帮助下,测量多播stream带宽的脚本。 这里是tcpdump -tnn -i eth1 -f multicast | sort | uniq -c | awk '{print $3,"> "$5,$1*$NF/2*8/1024 " Kbps"}' | awk '$1 > 10' & sleep 2s && pkill -HUP -f tcpdump tcpdump -tnn -i eth1 -f multicast | sort | uniq -c | awk '{print $3,"> "$5,$1*$NF/2*8/1024 " Kbps"}' | awk '$1 > 10' […]
我有一个bash脚本,从外部MySQL数据库中抽取一些文本。 大部分时间是4条线,每条线都在自己的线上。 这个文本(总共)必须放在一个文件中。 该脚本现在从MySQL数据库中提取信息,将其放入一个variables中。 然后我在一个文件中回显它: echo -ne $variable > file 问题是'n'也被打印/回显到文件。 喜欢这个: here is sentence number 1 nthere is number 2 nals here comes number 3 nlast but not least number 4 不知何故,有一种新的印刷线,我需要没有“n”的文字。 编辑1 – Bash脚本的副本: #!/bin/bash DBHOST='xx.xxx.xx.xxxx' DBUSER='xxxxxx' DBPASS='xxxxxx' DBNAME='xxxxxx' mysql -N -u$DBUSER -p$DBPASS -h$DBHOST -D$DBNAME -e "SELECT id,vhost FROM test;" | while read […]
如何正确地创buildchroot jail(在Ubuntu上,或其他一些Linux,如果不适用的话),使用户能够编辑系统设置(例如ifconfig )并且能够与外部脚本进行通信? 用例是让用户使用SSH进行身份validation,然后能够从命令行执行非常有限的一组操作。 不幸的是,棘手的部分是对系统设置的访问。 我已经考虑了多个选项,另一种方法是设置假的SSH服务器(例如Twisted ),尝试使用受限制的shell(不过,我似乎仍然需要chroot),或者在shell(?)的顶部写脚本。
根据这个页面 $LONGSERVICEOUTPUT$的限制是4kB,但在我的情况下,它停止显示970字节的输出(26行),其中有多个换行没有长行输出的其余部分。 我使用NRPE 2.15和Nagios 3.5.1。 题 任何想法是什么错误? 我的Nagios插件 #!/usr/gnu/bin/sh ZPOOL="/sbin/zpool" if ! [ -x $ZPOOL ]; then echo "CRITICAL: $ZPOOL not found or not executable." exit 3 fi for DEVICE in $($ZPOOL list -H -o name); do HEALTH="$($ZPOOL list -H -o health $DEVICE)" case "$HEALTH" in ONLINE) T="OK: $DEVICE ONLINE. " ;; DEGRADED) T="ERROR: $DEVICE […]
我在使用Rsync / SSH与特定用户在服务器上进行Amanda备份时遇到问题。 rsync -e 'ssh -i /var/lib/amanda/.ssh/id_rsa_amdump' -az otherserver:/dir/to/copy /copy/dir 我注意到它在/etc/profile.d脚本中给出了各种错误,不能用SSH密钥login。 如果我尝试用SSHlogin到用户帐户,它只是显示错误,不会提示。 有没有办法告诉用户不要读/etc/profile.d或设置为跳过/排除该用户? login尝试使用SSH时出现的错误是: /etc/profile.d/somescript.sh line 125: bind: warning: line editing not enabled 它显示脚本内至less20行不同的错误。 我没有得到任何其他用户的这个错误。 另外,Amanda备份用户的主目录位于/var/lib/ not /home 。
在linux中设置环境variables时,是只为执行它的用户设置的,还是可以在存储用户时指定一个用户,或者它始终可供所有用户使用?
我想要生成一个PID的列表来传递给我只想要PID的PHP-FPM。 我可以通过使用grep与awk得到正确的输出,但我正在寻找awk唯一的答案。 这是我所做的。 这给出了所需的输出: $ ps ajxf |grep '[p]hp-fpm: pool' |awk '{print $2}' 21547 21548 21549 21938 31131 31132 31133 31189 36283 10549 12179 12893 12964 12989 13565 14420 14421 15848 17737 这一个没有: $ ps ajxf |awk '/php-fpm: pool/{if (NR!=1) {print $2}}' 22903 <— This is the PID of the awk 21547 21548 21549 21938 […]
用户可以在bash中隐藏命令历史logging 在命令前追加一个空格 取消设置HISTFILE 如何禁用这个?
我写了一个shell脚本,执行以下操作: 从POP3帐户检索邮件(使用GetMail) 将该电子邮件的副本保存到S3(使用AWS CLI) 给我发电子邮件的文件大小 脚本手动运行良好 ,技术上从CRON 运行 ,但似乎只是发送电子邮件。 getmail和S3位似乎不运行。 我所读过的所有东西似乎都是在使用CRON时需要注意的相对path等信息,但我认为我在任何地方都使用绝对path,所以我难以理解这个问题可能是。 我的shell脚本在这里: #!/bin/bash # Run GetMail getmail -r /PATH/TO/EMAIL/getmail.email # Save to S3 aws s3 cp /PATH/TO/SCRIPT/email-backup.mbox s3://XXXXXXXXXX/email-backup.mbox # Send Confirmation Email SUBJECT="EMAIL SUBJECT" EMAIL="[email protected]" # Get current filesize FILENAME=/PATH/TO/SCRIPT/email-backup.mbox FILESIZE=$(stat -c%s "$FILENAME") # Email Content EMAILMESSAGE="/tmp/emailmessage.txt" echo "EMAIL BODY" >$EMAILMESSAGE echo "" >>$EMAILMESSAGE echo […]