linux 配置定时任务
- 行业动态
- 2024-04-19
- 3212
在 Linux 中,可以使用 crontab 命令配置定时任务。首先打开终端,输入 crontab -e,然后按照指定格式编写任务。
在Linux上配置系统定时任务
Linux系统提供了一套强大的定时任务调度工具,可以方便地实现自动化的任务执行,本文将介绍如何在Linux上配置系统定时任务。
1、使用crontab命令
crontab是Linux系统中最常用的定时任务管理工具,可以用来设置周期性执行的任务,以下是如何使用crontab命令创建和管理定时任务的步骤:
1、1 安装crontab
大多数Linux发行版已经预装了crontab,如果没有安装,可以使用以下命令进行安装:
sudo aptget install cron
1、2 创建定时任务
使用crontab e命令打开当前用户的定时任务配置文件,然后添加一行表示定时任务的配置信息,配置信息的格式如下:
* * * * commandtobeexecuted | | | | | | | | | Day of week (0 7) (Sunday is both 0 and 7) | | | Month (1 12) | | Day of month (1 31) | Hour (0 23) Minute (0 59)
以下配置表示每天早上6点执行/home/user/backup.sh脚本:
0 6 * * * /home/user/backup.sh
1、3 保存并退出
编辑完成后,保存并退出编辑器,定时任务将自动生效。
1、4 查看定时任务列表
使用crontab l命令查看当前用户的定时任务列表:
crontab l
1、5 删除定时任务
使用crontab r命令删除当前用户的所有定时任务:
crontab r
或者使用crontab l命令查看定时任务列表,然后手动删除不需要的任务。
2、使用systemd timers命令
除了crontab之外,Linux还提供了systemd timers命令来管理定时任务,以下是如何使用systemd timers命令创建和管理定时任务的步骤:
2、1 安装systemd
大多数Linux发行版已经预装了systemd,如果没有安装,可以使用以下命令进行安装:
sudo aptget install systemd
2、2 创建定时任务单元文件
使用以下命令创建一个名为mytimer.timer的定时任务单元文件:
sudo nano /etc/systemd/system/mytimer.timer
在文件中添加以下内容:
[Unit] Description=My Timer Example Requires=networkonline.target firewalld.service myscript.service After=networkonline.target firewalld.service myscript.service myotherscript.service [Timer] OnCalendar=*** 06:00:00 Persistent=true [Install] WantedBy=multiuser.target
Description表示定时任务的描述,Requires表示依赖的服务,After表示在哪些服务启动后执行定时任务,OnCalendar表示定时任务的执行时间,Persistent=true表示即使系统重启,定时任务也会继续执行,将该单元文件添加到多用户目标中。
2、3 创建定时任务服务文件和脚本文件
使用以下命令创建一个名为myscript.service的定时任务服务文件:
sudo nano /etc/systemd/system/myscript.service
在文件中添加以下内容:
[Unit] Description=My Script Example Service After=networkonline.target firewalld.service myotherscript.service mytimer.timer [Service] Type=simple User=root Group=root ExecStart=/usr/bin/myscript.sh Restart=onfailure RestartSec=5min TimeoutStopSec=infinity KillMode=process SendSIGKILL=no PropagateReload=no Watchdog=yes WatchdogSec=5min PIDFile=/run/myscript.pid PrivateTmp=false EnvironmentFile=/etc/sysconfig/myscript_env VariantOf=myotherscript.service [Install] WantedBy=multiuser.target mytimer.timer myotherscript.service networkonline.target firewalld.service myotherscript.service mytimer.timer systemdjournalflush.service systemdudevdtrigger.service systemdupdateutmprunlevel.service systemdtimesyncd.service systemdtmpfilessetupdev.service systemdjournaldautoreload.service systemdjournald.socket systemdjournalddevlogbuffer.socket systemdjournalddeferredcommit.socket systemdjournaldnotify.socket systemdjournaldremote.socket systemdjournaldsyslog.socket systemdjournald.service systemdremountfs.service systemdupdateutmp.service systemdhwdbupdate.service systemdlocaled.service systemdfirstboot.service udisks2.service upower.service wpa_supplicant.service networkmanager.service NetworkManager systemdrandomseed.service systemdreadaheadcollect.service systemdreadaheadrestored.service systemdusersessions.slice sysinit.target basic.target multiuser.target resolvconf.target remotefs.target ntpdate.target devsda1.device sysinit.target swapfile_enable_all_swaps_on_boot_complete_action_sysinit_early_start_services_and_then_wait_for_swaps_sysinit_early_start_services_and_then_wait_for_swaps sysinit.target localfs.target runlevel10kdb500ms localtime stop target sysinit target After=networkonline.target firewalld.service myotherscript.service mytimer.timer systemdjournalflush.service systemdudevdtrigger.service systemdupdateutmprunlevel.service systemdtimesyncd.service systemdtmpfilessetupdev.service systemdjournaldautoreload.service systemdjournald.socket systemdjournalddevlogbuffer.socket systemdjournalddeferredcommit
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/317218.html