我试图find/ export / home目录中最大的文件,并加起来(总和)它们的大小。 脚本: #!/bin/bash filename=hostnames > export_home.log while read -r -a line do hostname=${line//\"} echo $hostname":" >> export_home.log ssh -n -t -t $hostname "sudo find /export/home -type f -mtime +180 -size +250000k -exec du -hsk {} \;" >> export_home.log done < "$filename" 示例输出: server-34: 210M /export/home/john/142933-02/failsafe_archive 178M /export/home/john/137137-09/failsafe_archive server-35: server-36: 142M /export/home/marc/bdb/db-5.2.36.tar 446M […]
有趣的一点困境。 这是Centos。 昨晚我login到一个tty物理控制台。 我发起了一个命令,让它通宵运行。 该tty仍然login,但我目前通过SSH远程login(我不在控制台。) 我想知道我使用的确切命令参数(我不记得),所以我想看看我在那个tty上运行的命令。 由于shell仍在运行,它没有写任何东西给bash_history – 那个实例的历史logging仍然在内存中。 所以,我的问题是,如果有办法远程检索我想要的,也许: (a)向正在运行的shell发送一个信号,让它转储它的bash历史(b)检查运行shell的环境以获得它的历史信息(c)从tty会话中检查最近的x行,我可以看到我input的内容 或一些其他手段….
我创build了一个小脚本在我的服务器上添加网站,它看起来像这样: #!/bin/bash echo "<VirtualHost *:80> ServerAdmin [email protected] ServerName $1 ServerAlias www.$1 DocumentRoot /var/www/$1/public_html ErrorLog ${APACHE_LOG_DIR}/error-$1.log CustomLog ${APACHE_LOG_DIR}/access-$1.log combined </VirtualHost>" > /etc/apache2/sites-available/$1.conf mkdir /var/www/$1 mkdir /var/www/$1/public_html/ a2ensite /etc/apache2/sites-available/$1.conf 这工作正常。 我可以运行这个脚本作为./newsite example.com ,我得到我的文件example.com.conf下sites-available和一切。 但是当我运行a2ensite ,我有以下错误: ERROR: Site /etc/apache2/sites-available/example.com does not exist! 这很奇怪,因为即使在我仍然得到这个错误之前,我创build了一个名为example.com.conf的文件。 有任何想法吗? 这是一个错误? PS:只要sudoers就可以运行这个脚本。
我想创build一个tar文件,排除具有许多子文件夹和文件的特定文件夹,但只保留被排除的主文件夹。 解释: -project |-dir1 |-dir2 |-cache |-logs |-dir3 –dir4 我想我的焦油排除caching和日志内容(文件和文件夹),但保存在tar文件中的空文件夹。 如果我使用–exclude = project / cache,它将从文件中排除文件夹。 我怎样才能做到这一点 ?
我正在检查脚本的输出。 在某些情况下,脚本失败了,某个文件还没有被生成。 我想检查这个文件是否存在于一个目录中,如果不存在,打印目录名称。 目录看起来像: 6680_4#22_SMALT _SMALT之前的所有数字都是可变的(它们是一个唯一的标识符),目录中的文件将如下所示: 6680_4#22.bam 在这种情况下, .bam之前的数字是可变的(它们将匹配目录的前缀,即_SMALT之前的id)。 有类似的问题发布,但我不熟悉bash脚本。 一些解释将是有用的,而且,我的问题似乎更复杂的事实是文件名称的前缀更改。 任何帮助将不胜感激。
所以我创build了一个Linux资源监视工具,可以获取各种资源信息。 我试图拉的一个领域是我的网卡上的networking吞吐量的百分比。 所以如果我有一个每秒处理200 Mb(比特)的1 Gb(比特)网卡,工具将显示20%。 以下面的基本计算为例。 sar -n DEV 1 1 #Used to pull Rx and Tx KB(byte) per second. 从这里可以说,它总共报告17000 KB(字节)。 然后我需要将其转换为Kb(位)。 所以我会做以下。 17000 * 8 这给了我总共136000 Kb(比特)。 我需要把它变成Mb(bits)来从我的实际网卡速度中获得一个百分比。 136000 / 1000 我除以1000将其改为Mb(bits)。 总计现在是136 Mb。 从这里我需要得到一个基于我的网卡的百分比。 我有一个1Gb(位)的网卡。 136 / 1000 (NIC speed in Mb) * 100 这相当于13.6% 所以一个粗略的计算会告诉我,我的网卡正在处理据说能够由供应商处理的13.6%。 我的问题如下。 如果这是错误的网站,请转发我,因为这是部分networking,部分math和部分Linux / OS报告,所以我不知道要使用什么。 谢谢 我的推理是否有缺陷? […]
我的脚本抛出错误read error: 0: Resource temporarily unavailable第二次用户input(Unix用户名)预期read error: 0: Resource temporarily unavailable 。 我怀疑这与第一个后台进程(linux_fetch&)出错有关。 我如何解决这个问题,以便用户提示(Unix用户名)后台进程发布不会受到影响。 这是脚本的简短片段。 if [ -r $linux_host_list ] then echo read -p 'Linux Username:' LUSERNAME read -p 'Linux Password:' LPASS linux_fetch & clear screen else echo "No Linux Servers found" fi if [ -r $unix_host_list ] then echo read -p 'Unix Username:' UNIXUNAME […]
我有一个远程FTP服务器,我通过cronjob存储一些备份。 问题是我只有less量的空间,所以即时增量备份。 我想保留约14天的备份。 我没有任何其他访问服务器,除了FTP,我现在不怎么删除x天以前的文件。 每个文件都有一个名字和一个date yxzNamezxy-date-ymd.tar.bz2 (datev-20100111.tar.bz2( 希望在这里得到一些帮助。 欢呼和感谢希望来的回答, 丹尼斯 /编辑 我正在尝试使用这部分代码在回答中提到的curl事物 curl ftp://$FTP_SERVER –user $FTP_USER:$FTP_PASS –list-only > files.tmp declare -a aFiles let iCount=0 exec < files.tmp while read sLine do aFiles[$iCount]=$sLine ((iCount++)) done echo -e "\n Files: \n\n\n" echo ${aFiles[@]} echo -e "\nfor …\n\n\n" for sFile in $aFiles do echo -e "\nFile:" $sFile done […]
我试图收集一些统计数据,说明为了某些相当短的运行任务花费了多less时间,所以我可以certificate购买一些自动化工具的合理性。 我已经写了bash函数包装器,我使用GNU时间实用程序的一些常见任务,包括: function something() { /usr/bin/time -o ~/wastedtime.log -a $path_to_original "$@" } 我现在想进一步扩展到几个脚本,如果可能的话,抓住同一台机器上的其他用户的时间。 我正在使用一个bash到系统日志补丁。 有什么工具可以自动logging命令及其参数的执行时间?
我怎么可以传递一个文件目录(path)作为参数 Windows操作系统中的batch file 在unix操作系统中的bash文件