Articles of bash

bash中有很多“STOPPED”消息是什么意思?

我有一个奇怪的问题。 有时在一个相当重的服务器上,我得到了一堆: # apt-get install sun-java6-jre [1]+ Stopped apt-get install sun-java6-jre 甚至 # (just hitting Return) [1]+ Stopped apt-get install sun-java6-jre sun-java6-fonts 然后我什么都做不了 所有这一切正在返回我这个“停止”行… 那是什么意思 ? 太多的进程? 我怎么解决这个…

我可以在本地运行脚本,但不能做“ssh HOSTNAME /path/to/script.sh”

我有一个Linux服务器和一个Linux桌面。 我写了下面这个简单的脚本来转储一个django web应用程序的数据库: #! /bin/bash set -o errexit cd $(dirname $0) . virtualenv/bin/activate cd mysite export DJANGO_SETTINGS_MODULE="settings.my_hostname" django-admin.py dumpdata –settings=$DJANGO_SETTINGS_MODULE > database.json 程序django-admin.py要求DJANGO_SETTINGS_MODULE环境variables正常工作。 如果我进入机器, ssh HOSTNAME ,然后从远程主机上的bashterminal运行脚本/var/www/example.com/dumper.sh ,一切工作正常。 我得到没有输出(如预期的),文件database.json在那里,并有正确的数据。 但是(在我的Linux桌面上),我不能运行这个命令:“ssh HOSTNAME / var / www / example.com / dumper.sh“,我得到以下错误: Traceback (most recent call last): File "/var/www/example.com/virtualenv/bin/django-admin.py", line 5, in <module> management.execute_from_command_line() File "/var/www/example.com/virtualenv/lib/python2.6/site-packages/django/core/management/__init__.py", line 429, […]

根据内存利用率自动扩展AWS EC2安装

我正在设置基于特定实例消耗的内存的自动缩放。 我通过在awsforums张贴的链接。 我能够设置我的指标,并使用给定的bash脚本和相同的variables。 在弄清楚如何根据这些指标来设置自动缩放比例的时候,我在Google项目托pipe站点了解了一堆bash脚本。 我无法设定指标。 我怎么能进一步?

将斜杠文件名称转换回目录

要将某些数据从Windows上的程序移动到Mac上的相同程序,该程序具有内置的备份工具。 不幸的是,他们似乎从未testing跨平台兼容性,因为它生成的ZIP文件的文件名为: Data\Shared\filename.extension Data\Users\Ashley\filename.extension etc etc 所以,我需要将这些反斜杠扩展名转换为相应的文件夹。 没有太多的差异,所以我很乐意对他们做一个mv命令,然后剥离开始的“文件夹” – 但这就是我卡住的地方。 有关如何删除(例如) Data\Shared或通过基于文件名移动快速完成的build议将非常有用。 谢谢

awk + ​​perl +得到awk语法的两个参数

请咨询我的awk语法有什么问题,以及如何解决这个问题(这个语法是在我的ksh脚本中),我在Linux机器上运行我的脚本 我的目标是从file.txt只得到date之间的行: 从2012年4月19日至2012年4月22日 备注 – 其他解决scheme可以用Perl [root@test1 /var/tmp]# a='2012/04/19' [root@test1 /var/tmp]# b='2012/04/22' [root@test1 /var/tmp]# awk -v A=$a -v B=$b '/A/,/B/' file.txt awk: syntax error near line 1 awk: bailing out near line 1 file.txt的 [ 2012/04/18 21:49:01:857 ] Monitor::handle_client_message(): [ 2012/04/18 21:50:02:379 ] Monitor::handle_client_message( [ 2012/04/18 21:57:52:64 ] Monitor::handle_client_message(): [ 2012/04/18 21:57:52:252 ] Monitor::handle_client_message( [ […]

rsync不工作 – 只想复制某些子目录和文件

嗨,让我们说我有一个这样的目录: / my_work /dir1 keepdir1.ddd keepdir2.ddd file.cfg (lots of files and directories I don't want) /dir2 (same layout as dir 1) 所以我想复制目录“my_work”和所有的“dir1”,“dir2”等子目录。 但在每一个我想保留只有某些文件,和某些目录。 在我保持的目录中,我想recursion地包含一切。 这是我到目前为止所尝试的,但似乎没有任何复制: rsync -rl –include-from=~/rsync_include /my_work ~/backup 而rsync_include的内容是: + *file.cfg + *keepdir*/* – * 更新: 如果我使用rsync -rvvl运行,则会得到: sending incremental file list [sender] hiding directory my_work because of pattern * delta-transmission disabled for […]

复制cron作业从一台服务器到另一台服务器 – 使用bash prefereable

我最近做了一个从专用的centos服务器到另一个专用的centos服务器的迁移。 我的旧服务器上运行的备份cron作业很less。 我想将它们复制到新的服务器。 任何人都可以指导我。 使用bash是可取的。

Xargs和bash脚本

当手动执行脚本时,脚本工作正常,但是当它作为cron作业运行时,我收到了以下错误: xargs: postsuper: No such file or directory #!/bin/bash mailgueue=$(mailq | awk '/MAILER-DAEMON/ { print $1 }' | wc -l) if [ $mailgueue -ge 1 ] then /usr/bin/mailq | awk '/MAILER-DAEMON/ { print $1 }' | xargs -n 1 postsuper -d fi

Linux shell脚本:如何移动给定名称的所有子文件夹?

我想将所有以给定后缀(例如Blah_)开始的子文件夹移动到使用linux bash脚本的其他目录中。 这是脚本的样子: srcDir="/home/me/" archiveDir="/Archive/" prefix="Blah_" mv -v -f "$srcDir$prefix*" -t $archiveDir 尽pipe在/ home / me里面有很多以'Blah_'开头的目录,但是会导致以下错误信息: mv: cannot stat `/home/me/Blah_*': No such file or directory 现在我很好奇这里有什么错。 为了将所有以“Blah”开头的子文件夹移动到归档文件夹,必须如何更改上述脚本?

findbuild筑物内的设备

情况: 我们公司分布在build筑物的两层之间。 每个员工都有一台笔记本电脑(MacBook Air或MacbookPro)和一个iPhone。 我们有静态的DHCP映射和DNSparsing,所以每个移动获得像employeeiphone.example.com这样的名字,每一个macbook air得到一个employeelaptop.example.com,每个macbook pro在以太网接口上得到一个employeelaptop.example.com(wifi一个专门用于此目的的小范围的dynamicIP)。 我们知道每个电话和笔记本电脑的MAC地址,因为我们做DHCP静态映射(ISC DHCP服务器运行在Linux上)。 在每个楼层,我们有一个由两个交换机组成的Netgear堆栈,通过10GB光纤相互连接。 目前没有VLAN。 在每个楼层有4个机场至尊使一个SSIDnetworking与WPA2authentication。 请求: 我们的首席技术官想知道谁在场。 我的解决scheme(迄今): 每个交换机都包含一个列出MAC地址和始发端口的表格。 在每个交换机堆栈上,来自另一个楼层的所有MAC地址都列在端口48(光纤链路)上。 所以我想出了: 1)通过SNMP从每个交换机获取表2)过滤掉与端口48关联的表3)grep dhcpd.conf,删除所有不是*笔记本电脑的条目* iphone 4)匹配每个交换机的两个列表,输出JSON或XML 5)在仪表板上显示结果供所有人查看 我用bash写了很多awk和sed,它有点作用,但是我总是有一些原因在交换机查找表中陈旧的条目,使它不可靠; 有些人可能已经把自己的笔记本电脑睡了,一段时间后,他们的手机会断开连接,如果没有唤醒,等等..我左右search,我们也准备在项目上花费一点点(RFIDs)吗?有人做类似的事情? 如果需要的话,我可以提供脚本(虽然它确实是特定于我们的交换机和命名scheme)。 谢谢! PS也许这是一个问题的计算器? 如果是这样的话请动一动。