我在运行默认Debian linux的Amazon ec2实例上运行一个网站。 我设置了一个cronjob来复制站点文件,获取数据库的印记,并将其压缩。 我想将文件存档保存在与/ var / www / [新目录] / [新目录] / [etc] /中的bash脚本本身相同的目录中。 我创build了一个mysql用户,只能读取和转储数据库,但不能写入它。 脚本如下 #/bin/bash CURRPATH=$(pwd) SITEPATH="/var/www/html" MYSQLUSER="user" MYSQLPASS="password" MYSQLDB="database" CURRDATE=$(date +"%Y-%m-%d__%T_%p") DATETAG="Backup_$CURRDATE" TEMPDIR="$CURRPATH/$DATETAG" ARCHIVENAME="$DATETAG.zip" # I first copy the files so I can stick a database imprint in the same directory cp -r "$SITEPATH/" "$CURRPATH/" mv "$CURRPATH/html" "$TEMPDIR" mysqldump -u "$MYSQLUSER" […]
我有一个PowerShell脚本,直接input到PowerShell中。 PowerShell程序使用shorcut运行: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -PSConsoleFile "C:\Program Files\Microsoft\Exchange Server\bin\exshell.psc1" -noexit -command ". 'C:\Program Files\Microsoft\Exchange Server\bin\Exchange.ps1'" 我已经在Windows任务计划程序中尝试了大约10种不同的方法来首先打开上面的快捷方式,然后运行我保存的脚本文件,但它不会工作。 它挂在“跑步”上。 脚本位于: Z:\Exchange PowerShell\MailboxesApproachingOverQuota.ps1 请注意,可以将脚本内容复制并粘贴到上面的PowerShell快捷方式中,并且运行得非常好,并按照需要将其输出发送给我。 请注意,我使用的PowerShell实例是从上面显示的快捷方式中已经有参数 – 因此,我难以置信的东西放在哪里在任务计划。 请帮忙吗? 谢谢 :) 编辑当我直接在CMD中使用以下内容: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -PSConsoleFile "C:\Program Files\Microsoft\Exchange Server\bin\exshell.psc1" -noexit -command ". 'C:\Program Files\Microsoft\Exchange Server\bin\Exchange.ps1'; &'Z:\Exchange Powershell\MailboxesApproachingOverQuota.ps1'" 我得到: http : //tinypic.com/r/n1fkmg/8 当我使用以下内容时: C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -PSConsoleFile "C:\Program Files\Microsoft\Exchange Server\bin\exshell.psc1" -noexit -command ". 'C:\Program […]
根据手册页面: man ln -f, –force remove existing destination files 所以据我了解,如果我想重新创build一个目标目录/文件的新链接 我可以干脆 ln -s -f some_directory new_link 但是这不是我从linux / solaris机器上得到的 例如 [u@hw]# mkdir dir1 [u@hw]# ln -s dir1 link [u@hw]# ls -l drwxr-xr-x 2 root root 4096 Mar 16 20:26 dir1 lrwxrwxrwx 1 root root 4 Mar 16 20:27 link -> dir1 [u@hw]# ln -s -f […]
我得到这个错误: *** glibc detected *** /usr/sbin/tshark: double free or corruption 而在做如下,有什么想法为什么? #!/bin/bash trap 'my_exit; exit' SIGINT SIGQUIT count=0 /usr/sbin/tshark -i bond1.1 -f "port 1111" -w /test/test_1.pcap > /dev/null 2>&1 & PID1=$! /usr/sbin/tshark -i bond1.6 -f "port 8080" -w /test/test_2.pcap > /dev/null 2>&1 & PID2=$! function my_exit() { kill $PID1 kill $PID2 } while : do […]
我有一个Moto Droid,我使用connectbot在Linux的web服务器上进行远程pipe理。 但是,我想知道是否有更好的硬键盘用于ConnectBot的任何Android手机。 我基本上需要/需要轻松访问像〜|这样的各种unixy字符 等等 我使用一些印象深沉的语言(Ruby,Perl,Shell)编写脚本,所以能够轻松生成这些字符而不需要进入软件键盘就可以了。
我正在试图写一个bash函数如下所示。 我想scp我的.bashrc到目标机器。 我想通过以下两种方式来修改以下function。 我只想input一次密码。 我可以caching为scpinput的密码,并使用相同的ssh。 我也想从服务器而不是从我的机器执行bash –rcfile 。 我的起始示例代码如下: export_bashrc() { scp ~/.bashrc $1:/root/ws_karthik ssh $1 bash –rcfile /root/ws_karthik/.bashrc } 任何人都可以build议如何解决这个问题?
在我们的一台Mac OS X服务器上,我们在/etc/ssh_config设置了以下内容: # Keep idle connections alive for 10 minutes Host * ServerAliveInterval 600 两个问题: 1)这是一个很好的方式来定义空闲连接超时限制? http://www.ibm.com/developerworks/aix/library/au-sshsecurity/build议使用ClientAliveInterval ; 但是https://unix.stackexchange.com/questions/3026/what-do-the-options-serveraliveinterval-and-clientaliveinterval-in-sshd-conf似乎是说这两种方式本质上产生了相同的结果。 2)脚本执行时间是否切入空闲注销时间? 例如,如果有人在服务器上运行一个Perl脚本,并且该脚本需要5分钟,那么在脚本结束5分钟后连接将被挂起? 换句话说:ssh连接闲置是什么意思?
我必须在日志文件中删除大量的换行符(hex\ x0a)。 我只是有sed来解决这个问题。 我知道有点复杂 你有想法如何解决这个问题? 这里是一个示例文本文件: http ://s000.tinyupload.com/index.php?file_id= 05715208147126674999 hexdump -C hexprob.txt 00000000 45 0a 69 0a 6e 0a 66 0a 61 0a | Einfa | 我使用下面的代码来删除'E': sed -r's / \ x45 // g'hexprob.txt | hexdump -C 00000000 0a 69 0a 6e 0a 66 0a 61 0a | .infa | 但是,如果我想删除'\ x0a'它不工作: sed -r's / […]
我在bash脚本中使用find来清理一些超过一天的caching文件: find /tmp/my_files_*.cache -mtime +1 -delete 问题是如果命令没有匹配任何文件,则会导致脚本的其余部分无法运行: find: `/tmp/my_files_*.cache': No such file or directory 我目前正在通过追加|| true解决它 || true的命令,但这是不理想的,因为错误仍然出现在输出中,它允许脚本继续超过任何其他可能发生的错误。 我怎么知道如果没有文件匹配就可以?
这个问题是为了一般的应用,但我可以用一些具体的例子来说明我的问题的性质。 当某些Linuxauthentication软件包如krb5,sssd或pam_pkcs11被安装时,会进入PAMconfiguration目录下的文件(如/etc/pam.d/system-auth和/etc/pam.d/password-auth ),添加或修改一行以指向已安装的新.so文件,如pam_krb5.so , pam_sssd.so或pam_pkcs11.so以供使用。 这似乎是自动发生的某些软件包,无需用户干预,只需安装rpm软件包(使用yum或直接使用rpm工具),就像我观察到的那样,安装sssd软件包(至less在RHEL 7上)将会将对pam_sssd.so的引用添加到* -auth PAM文件中。 我想这是唯一可能的方法是通过rpms可以拥有的内部脚本,所以我查了一下如何在rpm的SPEC中列出内部脚本,安装了一个RHEL 7映像以便与源代码包对等,在Packages目录下运行: sudo rpm –scripts -qpl sssd- * | grep -i pam 然而,我没有返回任何行,表明任何东西都触及/etc/pam.d目录中的文件,即使如果我删除grep,我会看到if / then脚本逻辑做其他事情的结果,所以–scripts参数正在工作。 我也很好奇,在一个非常特殊的例子中,把这一行添加到我的/etc/pam.d/system-auth文件中: auth [成功=完成authinfo_unavail =忽略忽略=忽略默认=死亡] pam_pkcs11.so nodebug 如果它不是RPM的内部脚本,我想知道它是否可能是最初运行的新安装文件中的某个二进制文件,这是什么负责添加这些更改,但没有看到任何证据那。 此外,我实际上已经在RPM脚本中使用了authconfig行,因为我知道authconfig可以做到这一点,但没有find任何东西。 然而,它似乎必须运行authconfig或在背景等效的东西来做到这一点。 有没有人对这些改变有什么看法?