Tag: 脚本

每3天后逐字执行bash脚本

我想每隔3天执行一次shell脚本。 使用带有01 00 */3 * * crontab实际上不会满足条件,因为它将在31日运行,然后在1个月的第1天运行。 */3语法与1,4,7 … 25,28,31相同。 应该有办法让脚本本身检查条件并在3天没有通过时退出。 所以crontab每天都会执行脚本,但脚本本身会检查是否已经过了3天。 我甚至找到了一些代码,但它给了我语法错误,任何帮助将不胜感激。 if (! (date(“z”) % 3)) { exit; } main.sh: line 1: syntax error near unexpected token `”z”‘ main.sh: line 1: `if (! (date(“z”) % 3)) {‘

Cron作业日志显示“未安装MTA”,这是否会阻止CRON作业完成?

我有一个cron作业,只是在特定目录上运行rsync。 当我运行rsync命令本身sudo rsync -av –delete /directory1 /directory2 ,它运行没有问题,并完全按预期运行。 当Cron作业运行时 – 我在/var/log/syslog.1中看到它并且它说(摘要): Mar 12 11:38:01 ip-xx-xx-xx-xxx CRON[4970]: (root) CMD (rsync –delete /my/directory /backup/directory) Mar 12 11:38:01 ip-xx-xx-xx-xxx CRON[4970]: (CRON) info (No MTA installed, discarding output) 但是文件不在备份目录中(所以它没有完成)。 关于“ No MTA installed ”的第二个声明是否阻止了cron作业的完成? 让cron作业完成并摆脱MTA错误的最佳方法是什么? 我找到了这个答案,但并没有说这是否会阻止工作完成。

如何一次安装多个PPA和应用程序?

我打算在我实验室的一个工作台上安装一些通用计算机。 Ubuntu存储库中有一大堆PPA存储库和应用程序,我想在最初的Ubuntu安装后安装它们。 是否可以编写一个脚本,一次性安装所有这些应用程序和PPA,要求我只需双击可执行脚本并输入管理员密码? 我想这将是相当直接的。 有人可以指点我快速教程,或者甚至提供某种模板脚本,这样我就可以添加PPA名称和apt-get安装包吗? 谢谢。

/etc/cron.hourly的function

如果我创建一个脚本然后将其放在这个文件夹(/etc/cron.hourly)中,我的系统会每小时运行一次这个脚本吗? 或者我的脚本是否也需要以命令开头?

双击.sh文件打开终端并执行一系列命令?

我正在尝试双击执行此操作的文件: #!/bin/bash #Mount USB Jump, Copy files to it, Unmount it. [open terminal (so that I can see what ‘s going on)] pmount /dev/sdc JUMP sleep 2s cp -p -u source/path/ destination/path/ read -p “Press enter to unmount Jump or ctrl c to abort.” pumount /dev/sdc [close terminal] 我不知道怎么写的两行是[open terminal]和[close terminal]谁知道怎么做? 编辑:非常感谢大家,我把你的输入捆绑在一起,最终到达那里。 我双击.sh文件,上面写着:’terminal -hold -e […]

如何计算具有特定扩展名的文件及其所在的目录?

我想知道有多少常规文件在大型复杂目录结构中具有扩展名.c ,以及这些文件分布在多少个目录中。 我想要的输出只是那两个数字。 我已经看到了关于如何获取文件数量的问题,但我还需要知道文件所在的目录数量。 我的文件名(包括目录)可能包含任何字符; 他们可能会开始. 或-并有空格或换行符。 我可能有一些符号链接,其名称以.c结尾,符号链接到目录。 我不希望跟踪或计算符号链接,或者我至少想知道它们是否以及何时被计算在内。 目录结构有许多级别,顶级目录(工作目录)中至少有一个.c文件。 我急忙在(Bash)shell中写了一些命令来自己计算,但我不认为结果是准确的…… shopt -s dotglob shopt -s globstar mkdir out for d in **/; do find “$d” -maxdepth 1 -type f -name “*.c” >> out/$(basename “$d”) done ls -1Aq out | wc -l cat out/* | wc -l 这会输出关于模糊重定向,错过当前目录中的文件以及查找特殊字符(例如, 重定向find输出在文件名中打印换行符 )的投诉,并写入一大堆空文件(oops)。 如何可靠地枚举我的.c文件及其包含的目录? 如果它有帮助,这里有一些命令来创建一个具有错误名称和符号链接的测试结构: mkdir -p cfiles/{1..3}/{a..b} […]

在bash脚本中忽略sudo

我有一个小的bash脚本: #!/bin/bash touch dummy.txt 如果我用sudo执行这个脚本,那么它将创建一个将受root保护的 dummy.txt 。 我想做的是: 无论此脚本是使用sudo还是普通用户执行,文件dummy.txt 都不应受root保护。

将单词写入文件夹中的每个txt文件

如何在文件夹中的每个.txt文件中写入“cat”一词?

如何设置ccpd守护程序在启动时自动启动?

在Quantal中安装Canon打印机后,为了打印我必须在每次重启时使用该命令启动ccpd sudo /etc/init.d/ccpd start 驱动程序手册说,这应该是自动化的。 但在此之前,我认为必须创建该命令的脚本。 或者有没有办法让命令在启动时运行而不先创建脚本? 无论脚本是否必须创建,我想应该使用不同的命令,一个不打开终端并且每次都不要求密码的命令。 我想答案可能就像这里一样,编辑/etc/rc.local 。 那个文件看起来像这样: #!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will “exit 0” on success or any other # value on error. # # In order to enable or disable […]

批处理文件重命名w / filename的移位

我有很多以这种方式命名的文件: [name]_[phonenumber]_HH-mm-ss_dd-MM-yyyy.mp3 。 如何将[name]和[phonenumber]移到文件名的末尾,并以yyyy-MM-dd_HH-mm-ssforms将日期放在开头,这样我就得到了yyyy-MM-dd_HH-mm-ss_[name]_[phonenumber] ? 这是一个实际的文件名: [Unknown]_[+74999519075]_18-01-36_17-01-2014.mp3 我试过rename ,但由于缺乏正则表达式的知识,我没有提出一个有效的解决方案。