如何在华硕Merlin Wifi路由器上添加cron作业
时间:2020-01-09 10:38:55 来源:igfitidea点击:
如何在由Asuswrt Merlin固件提供支持的wifi路由器上添加或删除cron作业?
如何使用命令行在Asuswrt Merlin Wifi路由器上添加cron作业?
说明:Asuswrt-Merlin是Asuswrt的增强版本,它是Asuss现代wifi路由器使用的固件。
它是华硕路由器的第三方替代固件,特别着重于调整和修复,而不是进行重大更改或收集尽可能多的功能。
如何在华硕Merlin Wifi路由器上添加cron作业
解决方法:您需要使用cru命令列出,删除或添加新的cron作业。
Linux上的cron是什么?
Cron允许Linux和Unix用户在给定的日期和时间运行命令或脚本。
您可以安排脚本定期执行。
Cron是Linux或UNIX等操作系统中最有用的工具之一。
cron服务(守护程序)在后台运行,并不断检查/etc/crontab文件和/etc/cron.*/目录。
它还会检查/var/spool/cron /目录。
使用cru命令添加,列出和删除cron作业的语法
语法非常简单:
添加新的Cron作业
cru a {id} min hour day month week command
其中:
- id每个cron作业的唯一ID
- min分钟(0-59)
- hour小时(0-23)
- day天(0-31)
- month月(0-12 [12是12月])
- week星期几(0-7 [7或0是星期日])
- command 计划的脚本或命令名称。
列出cron计划任务
cru l
删除Cron作业
cru d {id}
例子
让我们每隔1小时将Asuswrt Merlin Wifi路由器上的cron作业添加到ping网关,运行:
cru a pinggw "0 * * * * /bin/ping -c 10 -q 192.168.2.254"
上面的cron作业将运行/bin/ping命令,该命令仅发送10次ping并且仅在启动时显示输出。
要列出当前作业,请执行以下操作:
cru l
要删除当前作业,请运行:
cru d pinggw
验证一下:
cru l
重新启动路由器后如何安排任务/cron作业
由于路由器上的存储空间较小,因此需要使用cru命令将cron作业存储为脚本。
创建一个名为services-start的脚本
执行以下cd命令:
# cd /jffs/scripts
编辑/更新名为服务启动文件的文件,即/jffs/scripts/services-start
#!/bin/sh # This cript get called after all other system services # have been started at boot on router # -------------------------------------------------------- # Sample cron job to install after reboot cru a pinggw "0 * * * * /bin/ping -c 10 -q 192.168.2.254" # Run my usb backup script every day at midnight cru a backup "0 0 * * * /jffs/scripts/usb-backup-script.sh
使用cat命令显示的示例/jffs/scripts/usb-backup-script.sh文件:
cat /jffs/scripts/usb-backup-script.sh
输出示例:
#!/bin/sh # Purpose: Backup data to connected external USB 3.x hard disk # Author: under GPL version 2.x or above # ------------------------------------------------------------ DEST="/tmp/mnt/sda1" nUSER="Hyman" nSERVER="192.168.1.200" SRC="/backups" # GRAB files from my NFS server to external USB connected to this router rsync -az -Hh --delete --numeric-ids ${nUSER}@${nSERVER}:${SRC} ${DEST}
确保使用chmod命令设置可执行权限:
chmod a+rx /jffs/scripts/services-start chmod a+rx /jffs/scripts/usb-backup-script.sh
为/jffs/scripts /启用启动时间支持
必须在webui上"管理"->"系统"下启用对存储在/jffs/scripts /下的这些脚本的支持: