Articles of shell

协助备份解决scheme。

我目前需要在我的服务器上创build一些备份。 我压缩整个文件夹,它大约1.5GB …它必须每小时备份…. 好的,所以备份的大小每天都越来越大。 所以我需要一种更好的备份方式。 我想就如何做到这一点的一些build议。 但是我在想,第三天的备份每3天就会被删除。 但是有一个保留。 这意味着在3天的备份之后,我的备份总数为73.5gb。 然后我想保留第三天备份一周。 所以在第10天它被删除。 所以大约有85GB的数据被备份。 8小时后,每天2小时,1小时。 我在想,最简单的方法就是将第三天的备份时间从1小时移到一个新的文件夹,并为每天运行一个单独的脚本。 不过,我不知道如何从其他人中挑选出其中的一个,以及如何删除大于两天的那些。 我可能会运行这些脚本作为cronjobs并将其设置为每天。 我使用centOS 64位5.7,任何提示将是伟大的….增量备份不是一个选项。 另外,是否有一个简单的方法来同步我的家用电脑到一个网站,在那里下载最新的文件在特定的时间? 我想要这个备份。 我见过一些很好的PHP网页,它使一个简单的文件pipe理器下载文件…也许这样的事情?

如何删除匹配的行,上面的行和下面的行?

在nagiosconfiguration define service{ use generic-service host_name xxx.xxx.com service_description xxx Status check_command check_http!xxx.xxx.com -S } 我想删除整个部分,如上面给出的正则expression式匹配xxx.xxx.com 。 如何使用sed或任何其他Linux实用程序

rsh为Windows 7

我正在寻找Windows 7的rsh客户端。它应该是GNU。 我也无法在该机器上运行安装程序,因此必须复制该文件。 理由:我有一个Windows XPbatch file与rsh命令在远程机器上执行命令。 我不允许在我的系统中安装“Windows Services for Unix”软件包。 因此,我正在寻找一个exe文件,我可以复制到我的win7机器和我的batch file将能够运行没有变化。

Linux Terminal:在“向上箭头”键按下后更改光标位置

我只是将我的一个系统从Gentoo切换到了Ubuntu。 这两个设置之间有一个区别是让我疯狂,我不知道如何解决它。 当我使用“向上箭头”转到上一个命令时,光标移动到行的开头。 在Gentoo中,光标将保留在行尾。 我已经使用了这个行为超过10年,适应新的行为将是一个主要的痛苦。 如何configuration这个? 这发生在任何terminal:urxvt,xterm和X开始之前的控制台。 它发生在bash和zsh中,而且不pipe我是否使用“屏幕”。 这似乎是一个全球性的环境。

bash shell命令在命令提示符下运行正常,但不在我的.sh脚本中?

我想写一个脚本,重新启动tomcat,但无法弄清楚我的问题是什么。 如果我在命令提示符处执行以下命令,它将正常运行: /usr/local/etc/rc.d/tomcat7 start 但是,在myshell.sh脚本里面,我试图运行相同的命令,有和没有反引号,如下所示: rc=`/usr/local/etc/rc.d/tomcat7 start` rc=/usr/local/etc/rc.d/tomcat7 start rc=$(/usr/local/etc/rc.d/tomcat7 start) 但没有任何反应,我没有得到任何错误输出。 它可以运行在命令提示符处,但不在我的shell脚本中? 提前致谢。

在后台进程

我有shell脚本中的循环,它只需要处理列表中的几个文件的时间。 如何在后台推进进程,并在第一个文件仍在处理的同时select下一个文件? for newfile in `ls new*` do time consuming process & done 我在/ dev / null 2>&1之后的命令末尾试了一下,但似乎没有成功。

bashrc和bash_profile都不会看起来来源? VirtualMin Clean安装

我不太熟悉nix服务器上的这种pipe理级别,但是我无法在login时获取bashrc或bash_profile的源代码。 服务器的详细信息: Centos 6.0 – 基本的GUI安装 Virtualmin服务器pipe理器 我作为一个在Virtualmin模块中创build的用户通过ssh和我的windows pc中的puttylogin。 .bash_profile具有以下内容: PATH=$PATH:$HOME/bin export PATH 我已经在该用户的家里创build了一个bin目录,然后把我的应用程序放在里面,但是注销并login后没有任何改变。 我已经尝试在bashrc文件中添加相同的两行,当我看到它不在bashconfiguration文件中。 到目前为止,我可以通过键入源.bash_profile来弥补这种情况,但这是很乏味的。 我以为我可以节省一些时间做一个bash shell脚本,但唉,我不能简单地input./script.sh我必须键入源〜/ script.sh为了使其在当前shell下有效。 我如何获得这些脚本加载? 是否virtualmin禁用用户configuration文件? 是通过SSHlogin防止他们加载? 使用gui安装Centos 6是否会禁用terminal中的configuration文件加载,而不pipe它们是通过ssh隧道传输的? 感谢您的帮助。 Bash Profile的全部内容: # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export PATH

基于整数值的文件grep

我怎样才能得到超过10000秒的页面的细节。 15:39:22,507NTP=/a/file/fname.pageTime=20559 15:40:10,811NTP=a/file/fname.pageTime=134 15:42:24,488NTP=a/file/fname.pageTime=10153 15:42:24,488NTP=a/file/fname.pageTime=10000 15:42:24,488NTP=a/file/fname.pageTime=101 我想把它放在下面,因为它需要超过10000秒: 15:39:22,507NTP=/a/file/fname.pageTime=20559 15:42:24,488NTP=a/file/fname.pageTime=10153

如何使用简单的shell脚本parsing一个小时的日志文件?

如何在最后一个小时内仅使用shell脚本parsing日志文件? 每个小时,脚本应该执行,parsing前一小时的日志,并且已经提醒或列出的错误不应该重复。 下面给出的错误日志示例: 120622 13:06:36 mysqld_safe Starting mysqld daemon with databases from <path> 120622 13:06:36 [Note] Plugin'FEDERATED' is disabled. 120622 13:06:36 InnoDB: Initializing buffer pool, size = \78.0M 120622 13:06:36 InnoDB: Completed initialization of buffer pool InnoDB: No valid checkpoint found. InnoDB: If this error appears when you are creating an InnoDB database, InnoDB: the […]

语法错误附近的意外令牌`然后'

我创build了作为Nagios插件的bash脚本。 这是它的一部分: 44 CURDUPLEX=`ethtool $IFACE|grep "Duplex"|cut -d ':' -f 2|xargs` 45 CURSPEED=`ethtool $IFACE|grep "Speed"|cut -d ':' -f 2|xargs|sed 's/.\{4\}$//'` 46 47 if [ $CURSPEED -eq $SPEED ]; then 48 if [ $CURDUPLEX = $DUPLEX ]; then 49 echo "OK: Interface $IFACE link at ${CURSPEED}Mb\s and $CURDUPLEX duplex." 50 exit $OK 51 else 52 echo "CRITICAL: […]