Linux at命令怎么使用

发布时间:2022-01-26 15:43:43 作者:iii
来源:亿速云 阅读:256
# Linux at命令怎么使用

## 1. 什么是at命令

`at`是Linux系统中一个强大的任务调度工具,允许用户在指定时间执行一次性任务。与`cron`不同,`at`不用于周期性任务,而是专门为单次延迟执行设计的。

## 2. 基本语法

```bash
at [选项] 时间

执行后会进入交互式界面,输入要执行的命令后按Ctrl+D保存。

3. 时间格式详解

3.1 简单时间格式

3.2 完整时间格式

4. 常用选项

选项 说明
-f 从文件读取命令
-l 列出待执行任务(等同atq)
-d 删除任务(等同atrm)
-v 显示任务执行时间
-m 任务完成后发送邮件

5. 实际使用示例

5.1 基本使用

$ at now + 1 hour
at> echo "Hello World" > ~/message.txt
at> <EOT>
job 1 at Mon Jul 10 15:30:00 2023

5.2 从文件读取命令

$ cat myscript.sh
#!/bin/bash
echo "Backup started at $(date)" >> /var/log/backup.log
tar -czf /backups/home_$(date +%Y%m%d).tar.gz /home

$ at -f myscript.sh 2:00 AM

5.3 查看待执行任务

$ at -l
1       Mon Jul 10 15:30:00 2023 a username

5.4 删除任务

$ at -d 1

6. 高级用法

6.1 输出重定向

$ at now + 10 minutes
at> /path/to/script.sh > /var/log/script.log 2>&1

6.2 环境变量问题

at执行时不会继承当前shell的环境变量,解决方法:

$ at now + 1 minute
at> . ~/.bashrc; /path/to/script.sh

6.3 权限控制

通过/etc/at.allow/etc/at.deny文件控制用户权限:

7. 注意事项

  1. at任务执行时不会显示在终端,所有输出需要通过重定向保存
  2. 默认情况下,at会通过邮件发送命令输出
  3. 系统重启后未执行的at任务仍然有效
  4. 精确到分钟级别,不支持秒级调度
  5. 可以使用batch命令在系统负载较低时执行任务

8. 相关命令

9. 系统服务

at需要atd服务运行:

# 检查状态
systemctl status atd

# 启动服务
systemctl start atd

# 设置开机启动
systemctl enable atd

10. 日志查看

at任务执行日志通常记录在:

/var/log/syslog      # Ubuntu/Debian
/var/log/messages    # CentOS/RHEL

使用grep过滤查看:

grep "atd" /var/log/syslog

结语

at命令是Linux系统管理中的实用工具,特别适合需要单次延迟执行的场景。掌握at命令可以大大提高工作效率,实现自动化任务调度。建议结合具体需求多加练习,熟悉各种时间格式和选项的使用。 “`

推荐阅读:
  1. 怎么使用Linux yum命令
  2. linux如何使用pgrep命令

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

at命令 linux

上一篇:Linux卸载openjdk及安装sunJDK的方法

下一篇:@Transactional注解怎么用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》