在Ubuntu中,你可以使用systemd
或cron
來實現定時任務。要實現并發執行,你需要創建多個獨立的定時任務,它們可以同時運行而不會相互干擾。
systemd
實現并發定時任務systemd
服務文件。例如,創建一個名為my-task.service
的文件:[Unit]
Description=My concurrent task
[Service]
Type=simple
ExecStart=/path/to/your/script.sh
將此文件保存到/etc/systemd/system/
目錄下。
為新創建的服務創建一個定時器文件,例如my-task.timer
:
[Unit]
Description=Run my-task.service every hour
[Timer]
OnCalendar=*-*-* *:00:00
Persistent=true
Unit=my-task.service
[Install]
WantedBy=timers.target
將此文件保存到/etc/systemd/system/
目錄下。
啟用并啟動定時器:
sudo systemctl enable --now my-task.timer
現在,你的任務將每小時運行一次。如果你需要更多的并發任務,只需創建更多的服務文件(例如my-task2.service
,my-task3.service
等),并為每個任務創建相應的定時器文件(例如my-task2.timer
,my-task3.timer
等)。
cron
實現并發定時任務打開終端,輸入crontab -e
以編輯當前用戶的cron
配置。
為每個并發任務添加一行,指定任務的執行時間和命令。例如,如果你想讓兩個任務分別每小時的0分和30分運行,你可以添加以下行:
30 * * * * /path/to/your/script1.sh
0 * * * * /path/to/your/script2.sh
現在,你的任務將按照指定的時間運行,并且可以同時運行而不會相互干擾。