linux系统设置定时器crontab命令定时保存信息

“设置定时器crontab,要求每天12点查看系统登录的用户信息,并将每次查看的用户信息保存到xx文件中”,这里要把查看的信息保存的命令应该是什么样的,是直接写入还是运行一个脚本文件?

可以使用以下命令将查看的用户信息保存到文件中:

who > /path/to/file

这将把当前登录用户的信息写入指定的文件中。如果您想在每天12点运行此命令,可以使用以下 crontab 条目:

0 12 * * * who > /path/to/file

这将在每天12点运行 who 命令,并将输出写入指定的文件中。请注意,此命令将覆盖指定文件中的任何现有内容。

linux服务器上定时任务格式是: 分 时 日 月 周 执行的命令 ,所以 每天12点查看系统登录的用户信息 的定时任务如下:

00 12 * * * whoami >> ~/username.txt

## 也可以用 w 命令查看
00 12 * * * w >> ~/username.txt
  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/720894
  • 除此之外, 这篇博客: crontab定时脚本常见报错中的 2、crontab定时任务不执行,并且没有收到错误信息邮件 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • A:查看日志/var/log/cron显示如下

    CROND[15777]: (root) MAIL (mailed 33 bytes of output but got status 0x0043#012)

    B:使用sendmail 命令

    endmail: warning: valid_hostname: numeric hostname: 7
    
    sendmail: fatal: file /etc/postfix/main.cf: parameter mydomain: bad parameter value: 7

    原因:sendmail没有安装

    3、重新执行脚本

    /bin/sh: root: command not found

    原因:root需省略

     

     

     参考博客:

    https://blog.csdn.net/weixin_41399020/article/details/83927414

    https://blog.csdn.net/sd4493091/article/details/83345661

    https://blog.csdn.net/default7/article/details/40214305?locationNum=4

  • 以下回答由chatgpt基于相关博客总结生成:

    可以通过crontab命令设置定时任务。步骤如下:

    1. 使用以下命令创建一个脚本文件,里面包括查看登录信息并将信息保存到指定文件中的命令:

    touch login_info.sh vi login_info.sh

    在文件中添加以下内容:

    !/bin/bash

    last | grep "$(date +'%a %b %d')" > /path/to/save/file/login_info.txt

    其中,last命令用来查看登录信息,grep命令用来筛选出当天的登录信息("$(date +'%a %b %d')"用来获取当天的日期,%a表示星期几,%b表示月份缩写,%d表示日期),>用来重定向输出到指定文件(/path/to/save/file/login_info.txt)中。

    保存并退出。

    1. 赋予脚本文件执行权限:

    chmod +x login_info.sh

    1. 使用crontab -e命令编辑定时任务配置文件(如果第一次创建定时任务,可能需要选择编辑器,并创建定时任务文件):

    crontab -e

    在文件末尾添加以下内容:

    0 12 * * * /path/to/login_info.sh

    其中,0表示分钟为0,12表示小时为12,*表示每天、每月、每周都执行,后面跟上要执行的脚本文件的绝对路径。

    保存并退出。

    1. 查看、编辑、删除定时任务可以使用crontab -l、crontab -e、crontab -r命令。

可以使用以下命令将当前登录的用户信息保存到文件中:

who > /path/to/xxfile

以下是完整的 shell 脚本文件:

#!/bin/bash
who > /path/to/xxfile

使用步骤如下:

1 打开终端。

2 输入 crontab -e 命令进入 crontab 编辑界面。

3 在文件末尾添加以下一行:

0 12 * * * /bin/bash /path/to/yourscript.sh

其中,0 12 * * * 表示在每天的 12 点执行,/bin/bash 是解释器的路径(如果不确定可以用 which bash 命令查看),/path/to/yourscript.sh 是你保存上面脚本的文件路径。
4 保存并退出编辑界面。
5 已经设置完成,每天到了 12 点就会自动执行,将当前登录的用户信息保存到指定的文件中。