如何安装多个 cron 作业?

How to install multiple cron jobs?

以下使用 shellscript 同时安装多个 cron 作业的代码

#!/bin/bash
    file="/home/admin/Desktop/crontab.sh"
    file1="/home/admin/Desktop/crontab1.sh"
    file2="/home/admin/Desktop/crontab2.sh"
    file3="/home/admin/Desktop/crontab3.sh"
    echo "     $file" >> cron.new
    echo "     $file1" >> cron.new
    echo "     $file2" >> cron.new
    echo "     $file3" >> cron.new
    cat cron.new
    crontab cron.new

Bash 位置参数从 0 开始到 9 结束。因此,您必须将所有位置参数作为单个参数发送。即,将所有参数括在单引号或双引号内。

下面的程序会帮助你。

#!/bin/bash

files=("/home/admin/Desktop/crontab.sh" "/home/admin/Desktop/crontab1.sh" "/home/admin/Desktop/crontab2.sh" "/home/admin/Desktop/crontab3.sh")
args=($(echo ))

for file in ${files[@]}
do
    list=(${args[@]:0:5})
    args=(${args[@]:5})

    for i in $(seq 0 4)
    do
        cmd="${cmd} ${list[$i]}"
    done

    echo "$cmd $file"
    cmd=''
done

输出:

$ ./test.sh '1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20'
 1 2 3 4 5 /home/admin/Desktop/crontab.sh
 6 7 8 9 10 /home/admin/Desktop/crontab1.sh
 11 12 13 14 15 /home/admin/Desktop/crontab2.sh
 16 17 18 19 20 /home/admin/Desktop/crontab3.sh

在这里,数字通过将它们括在单引号中作为单个参数传递。文件名放在数组中以便于访问。