anacron

https://www.ibm.com/developerworks/cn/education/aix/au-usingcron/

系统管理员最好的朋友

cron 和与它相似的程序对于系统管理员非常有帮助。如果您需要反复执行相同任务,就可以考虑用 cron 实现自动化。捕捉具有许多步骤的复杂任务常常需要 shell 脚本,但是许多任务只需要一行命令。

下面仅仅是一些思路:

  • 通过组合使用 cron 和数据库工具,创建每日转储。例如,命令:
    1
    @daily joe mysqldump -pjoespwd accounts > $HOME/backups/accounts.`date +%F`.sql

    每天把数据库 accounts 转储到一个文件。嵌入的日期命令(`date +%F`)确保文件名是惟一的,比如 accounts.2008-08-07.sql。此命令作为用户 joe 运行,所以用 -p 指定 Joe 的密码。此命令还可以放在 Joe 自己的 crontab 中,因为转储需要他的 MySQL 凭证。

  • locate 子系统为系统上的所有文件编制索引,并把每个文件的完整路径存储在数据库中。然后,从命令行查询此数据库,就可以立即找到文件。当然,可以根据需要用 find 搜索文件,但是必须等待它搜索文件系统,这可能很慢。

    为了让定位子系统发挥作用,必须定期为文件系统编制索引,因为随时可能添加和删除文件。这种情况就非常适合使用 cron

    1
    0 0,12 * * * root updatedb

    这个 crontab 项每天运行 updatedb(locate 更新实用程序)两次。

  • 显然很适合用 cron 实现自动化的另一个任务是,把文件从主服务器复制到众多的从服务器。rsync 是一种跨多个系统分布和同步文件集合的现代实用程序。许多网管都通过组合使用 cron 和 rsync 把网站的主拷贝复制到服务器群中的每台服务器。
    1
    @midnight www rsync -avz /var/www/site slave1:/var/www

    在每天午夜,rsync 都会把 /var/www/site 复制(-avz)到 slave1 上的 /var/www。

    使用命令行实用程序 mail 和 shell 管道操作符(|)把任务的输出发送给团队中的一个或多个成员。

    1
    @weekly root df --print-type --local -h |& mail -s "Weekly df report" andy bob

    在这里,每周通过电子邮件把 df 的输出发送给用户 Andy 和 Bob,让他们能够监视磁盘使用量。


https://www.jb51.net/LINUXjishu/12715_all.html

https://blog.csdn.net/fafadsj666/article/details/104360020


原文地址:https://www.cnblogs.com/cx2016/p/12682759.html