不用手动执行重复的任务,让Linux为您完成。2021年,人们更有理由热爱Linux。在本系列中,我将分享使用Linux的21个不同理由。自动化是使用Linux的最佳理由之一。关于Linux,我最喜欢的事情之一是它愿意为我做这些工作。我不想执行重复的任务,这些任务占用我的时间,或者容易出错,或者我可能会忘记,我安排Linux帮我做。为自动化做准备“自动化”这个词既令人生畏又令人兴奋。我发现以模块化的方式处理它很有帮助。1.你想达到什么目的?首先,知道你想要产生什么结果。你想给图片加水印吗?从杂乱的目录中删除文件?执行重要数据的备份?为自己清楚地定义任务,这样您就知道自己的目标是什么。如果您发现自己每天都在做某项任务,甚至每天不止一次,那么它可能是自动化的候选对象。2.了解您需要的应??用程序将大任务分解成小组件,并学习如何以可重复和可预测的方式手动生成每个结果。可以在Linux上完成的大部分工作都可以使用脚本来完成,但重要的是要认识到您当前的局限性。学习如何自动调整一些图像的大小以便方便地通过电子邮件发送,与使用机器学习为您的每周时事通讯生成精心制作的艺术品之间存在天壤之别。有些东西你可以在一个下午学到,而有些东西可能需要数年时间。然而,我们都必须从某个地方开始,所以从小处着手,并留意改进的方法。3.自动化在Linux上使用自动化工具来定期实现它。这就是本文中涵盖的步骤!要自动化某些事情,您需要一个脚本来自动化任务。谈到测试,最好保持简单,因此本文的自动化任务是在/tmp目录中创建一个名为hello的文件。#!/bin/shtouch/tmp/hello将这个简单的脚本复制并粘贴到一个文本文件中,并将其命名为example。Cron每个已安装的Linux系统都会有的内置自动化解决方案是cron系统。Linux用户倾向于将cron宽泛地称为您用来安排任务的方法(通常称为“cron作业”),但是有几个应用程序提供cron功能。最多才多艺的是亲信;它的优点是它不会假定您的计算机始终处于打开状态,就像历史上为系统管理员设计的cron应用程序一样。验证您的Linux发行版提供的cron系统。如果cronie不是您的菜,您可以从您的发行版存储库安装cronie。如果您的发行版没有cronie包,您可以使用旧的anacron包代替。anacron命令包含在cronie中,因此无论您是如何获得它的,在继续之前,您都需要确保您的系统上有anacron命令。anacron可能需要管理员root权限,具体取决于您的设置。$whichanacron/usr/sbin/anacronanacron的工作是确保您的自动化作业定期执行。为此,anacron会检查作业上次运行的时间,然后检查您告诉它运行作业的频率。假设您将anacron设置为每五天运行一次脚本。每次打开计算机或将其从睡眠中唤醒时,anacron都会扫描其日志以确定是否需要运行作业。如果作业在五天或更长时间前运行,则Anacron会运行该作业。Cron作业许多Linux系统将一些维护工作捆绑到cron中。我喜欢将我的工作与系统工作分开,所以我在我的主目录中创建了一个目录。具体来说,有一个名为~/.local的隐藏文件夹(“本地”意味着它是为你的用户帐户定制的,而不是你的“全球”计算机系统),所以我创建了子目录etc/cron.daily作为我系统上cron的主目录.您还必须创建一个假脱机目录来跟踪上次运行作业的时间。$mkdir-p~/.local/etc/cron.daily~/.var/spool/anacron您可以将任何要定期运行的脚本放入~/.local/etc/cron.daily目录。现在将示例脚本复制到目录中,并使用chmod命令使其可执行。$cpexample~/.local/etc/cron.daily#chmod+x~/.local/etc/cron.daily/example接下来,配置anacron以运行any脚本。anacron默认情况下,cron系统的大部分内容被认为是系统管理员的领域,因为它通常用于重要的低级任务,例如轮换日志文件和更新证书。本文演示的配置是为普通用户设置个人自动化任务而设计的。要配置anacron以运行您的cron作业,请在/.local/etc/anacrontab中创建一个配置文件:SHELL=/bin/shPATH=/sbin:/bin:/usr/sbin:/usr/bin10cron.minerun-parts/home/tux/.local/etc/cron.daily/这个文件告诉anacron运行(run-parts)~/.在local/etc/cron.daily中找到的可执行脚本。有时,会使用几分钟的延迟,这样您的计算机就不会在您登录后立即被所有可能的任务淹没。但是,此设置适合测试。cron.mine值是进程的任意名称。我将其命名为cron.mine,但您也可以将其命名为cron.personal或penguin或任何您想要的名称。验证anacrontab文件的语法:$anacron-T-t~/.local/etc/anacrontab\-S/home/tux/.var/spool/anacron沉默意味着成功。将anacron添加到您的.profile最后,您必须确保anacron使用您的本地配置运行。因为您以普通用户而不是root身份运行anacron,所以您必须将其定向到您的本地配置:anacrontab文件告诉anacron要做什么,并帮助anacron跟踪每个作业上次执行假脱机目录的天数:anacron-fn-t/home/tux/.local/etc/anacrontab\-S/home/tux/.var/spool/anacron-fn选项告诉anacron忽略时间戳,这意味着你无论如何都强制它这样做运行你的cron作业。这纯粹是为了测试目的。测试您的cron作业现在一切都已设置好,您可以测试该作业了。从技术上讲,您可以在不重新启动的情况下进行测试,但重新启动最有意义,因为这是为处理中断和不规则的登录会话而设计的。花点时间重新启动您的计算机,登录并查找测试文件:$ls/tmp/hello/tmp/hello假设该文件存在,您的示例脚本已成功执行。现在您可以从~/.profile中删除测试选项,将其保留为您的最终配置。anacron-t/home/tux/.local/etc/anacrontab\-S/home/tux/.var/spool/anacron使用anacron你已经配置了你的个人自动化基础设施,所以你可以放任何你想放的脚本电脑帮你管理到~/.local/etc/cron.daily目录下,它会定时运行。这取决于您希望作业运行的频率。示例脚本每天执行一次。显然,这取决于您的计算机在任何一天是否开机和唤醒。如果您在星期五使用计算机,但将其设置为周末,则该脚本将不会在星期六和星期日运行。但是,在星期一,脚本将执行,因为anacron知道至少已经过了一天。您可以将每周、每两周甚至每月的目录添加到~/.local/etc以安排不同的时间间隔。添加一个新的时间间隔:在~/.local/etc中添加一个目录(例如cron.weekly)。向~/.local/etc/anacrontab添加一行以在新目录中运行脚本。对于每周间隔,其配置如下。70cron.minerun-parts/home/tux/.local/etc/cron.weekly/(值0可以选择是一些分钟数以适当延迟脚本的启动)。将您的脚本放在cron.weekly目录中。欢迎来到自动化的生活方式。它不会被感觉到,但你会更有效率。
