我刚刚迁移到 UNIX 工作站。我对 Bash shell 脚本的记忆从学校开始就消失了,我发现语法非常混乱。我想知道还有哪些其他脚本语言用于自动执行任务。我听说过的两个最流行的是 Perl 和 Python。
我希望对从 TLD 开始并向上工作的域名列表(网络过滤器白名单)进行排序。我正在寻找任何可以轻松完成此操作的 *nix 或 windows 工具,尽管脚本也可以。
所以如果是给你的清单
www.activityvillage.co.uk
ajax.googleapis.com
akhet.co.uk
alchemy.l8r.pl
au.af.mil
bbc.co.uk
bensguide.gpo.gov
chrome.angrybirds.com
cms.hss.gov
crl.godaddy.com
digitalhistory.uh.edu
digital.library.okstate.edu
digital.olivesoftware.com
Run Code Online (Sandbox Code Playgroud)
这就是我想要的输出。
chrome.angrybirds.com
crl.godaddy.com
ajax.googleapis.com
digital.olivesoftware.com
digital.library.okstate.edu
digitalhistory.uh.edu
bensguide.gpo.gov
cms.hss.gov
au.af.mil
alchemy.l8r.pl
www.activityvillage.co.uk
akhet.co.uk
bbc.co.uk
Run Code Online (Sandbox Code Playgroud)
以防万一你想知道为什么,Squidguard,有一个错误/设计缺陷。如果www.example.com和example.com都包含在列表中,则该example.com条目将被忽略并且您只能访问来自 的内容www.example.com。我有几个需要清理的大列表,因为有人没有先查看就添加了条目。
我需要编写一个脚本来从全新的 Ubuntu 服务器安装中构建我的服务器。在诸如 Apache 和 PHP 之类的东西中,它需要安装 MySQL。这里唯一的问题是,当我使用 apt-get 安装 MySQL 时,在某些时候安装会弹出一个对话框,允许我输入我的 root 密码。即,需要人机交互。
如何在安装过程中绕过此屏幕并在仍然使用 apt-get 安装 MySQL 的同时避免人为交互?
我是 unix noob,所以请耐心等待 :-)
我有一个脚本可以将一堆文件 scp 到另一台服务器。
假设它们是 z1.foo、z2.foo 等。我想要做的是 scp 文件并删除目标服务器中超过 5 天的文件。
如何从目的地安全地删除文件?
谢谢。
我正在尝试编写一个脚本来安装一堆软件,我不想将所有东西都作为 运行root,所以我希望能够提示输入密码,然后进行安装、使用sudo或su在我需要时获得特权。
我sudo -v在脚本开头提示输入密码,然后正常使用 sudo 。这很好用,直到我得到一个接管超时的安装。
我宁愿不必永久增加超时。有没有办法只为当前会话增加 sudo 的超时时间?
我的一个 LAMP 服务器最近被某种寻找漏洞利用的脚本机器人关闭了。从它的外观来看,它每秒发出如此多的请求,它使服务器上的 RAM 过载并使我的整个站点停机一个小时。那个“攻击”都来自一个单一的 IP 地址。
那么如何在短时间内自动暂时阻止一个 IP 地址在我的 LAMP 服务器上造成过多点击?什么是这项工作的最佳工具,我应该在操作系统级别还是通过 PHP 解决这个问题?
我正在编写脚本来自动设置新的 slicehost 安装。在一个完美的世界中,在我启动脚本后,它会运行,而不会引起我的注意。我成功了,只有一个例外。
我如何设置时区,永久(重新启动后幸存)和理智(调整标准和夏令时,所以不只是强制日期)......不需要我输入的方式?
目前,我正在使用
dpkg-reconfigure tzdata
Run Code Online (Sandbox Code Playgroud)
这似乎没有任何方法可以强制参数进入它。它需要用户输入。
编辑:我在这里编辑,而不是评论,因为评论似乎不允许代码块。
这是我最终得到的实际代码,基于下面 Rudedog 的评论。我还注意到这不会更新 /etc/timezone.conf 。我不确定谁在使用它,但如果有人使用它,我也会设置它。
TIMEZONE="America/Los_Angeles"
echo $TIMEZONE > /etc/timezone
cp /usr/share/zoneinfo/${TIMEZONE} /etc/localtime # This sets the time
Run Code Online (Sandbox Code Playgroud) 我是一名孤独的 Web 开发人员,拥有自己的 Centos VPS,为我的客户托管了一些小型网站。今天我发现我的 httpd 服务已经停止(没有明显的原因 - 但这是另一个线程)。我重新启动了它,但现在我需要找到一种方法,如果它再次发生,我可以通过电子邮件和/或短信通知我 - 当我的客户打电话给我告诉我他们的网站不起作用时,我不喜欢它!
我知道可能有很多不同的可能性,包括服务器监控软件。我认为我真正需要的是一个脚本,我可以从我的开发主机(它永久在我的办公室中运行)作为 cron 作业运行该脚本,该脚本尝试从我的生产服务器加载一个页面,如果它没有在 30 内加载秒然后它给我发送电子邮件或短信。我在shell脚本方面很垃圾,因此这个问题。
任何建议将不胜感激。
有没有人理解处理时间、使用中间文件或使用管道时的巨大差异?我在新的 debian 挤压服务器上使用标准工具将 tiff 转换为 pdf。执行此操作的标准方法是先转换为 ps。
无管:
root@web5:~# time tiff2ps test.tif > test.ps
real 0m0.860s
user 0m0.744s
sys 0m0.112s
root@web5:~# time ps2pdf13 -sPAPERSIZE=a4 test.ps > test.pdf
real 0m0.667s
user 0m0.612s
sys 0m0.060s
Run Code Online (Sandbox Code Playgroud)
配管:
root@web5:~# time tiff2ps test.tif | ps2pdf13 -sPAPERSIZE=a4 - > test.pdf
real 1m6.098s
user 0m15.861s
sys 0m50.9
Run Code Online (Sandbox Code Playgroud)
在最后一条命令期间,gs 进程始终处于 100%。
更新:
这是 ps 生成的 strace 输出:
root@web5:~# strace tiff2ps test.tif > test.ps
execve("/usr/bin/tiff2ps", ["tiff2ps", "test.tif"], [/* 28 vars */]) = 0
brk(0) = 0x1395000
access("/etc/ld.so.nohwcap", F_OK) …Run Code Online (Sandbox Code Playgroud) 是否有推荐的在线资源或书籍作为 PowerShell 脚本的介绍?我发现的资源主要集中在交互式使用上。