用户名更改后,如何修复我的 crontab?

用户名更改后,如何修复我的 crontab?

我最近更改了我的用户名,现在似乎无法访问我的 crontab:

% crontab -e
crontab: no crontab for blackl - using an empty one

我想我只需编辑我旧用户名下的那个,将作业复制粘贴到新用户名下,然后用来crontab -r删除旧用户名即可。

% sudo crontab -eu olduser
crontab: user `olduser' unknown

哎呀。

我搜索了一下,找到了 crontab 的存储位置 ( /usr/lib/cron/tabs),并从那里复制了我的旧 crontab。不过,第一行是这样的:

# DO NOT EDIT THIS FILE - edit the master and reinstall.

在我看来,无论出于什么原因,使用类似这样的命令手动删除旧的 crontabsudo rm /usr/lib/cron/tabs/olduser都不是一个好主意。正确的做法是什么?

答案1

[root@localhost cron]# 密码
/var/spool/cron
[root@localhost cron]# ll
共 4
-rw------- 1 root root 0 7月 13 12:06 root
-rw------- 1 最大 最大 20 十月 22 12:22 最大

这里存储了特定用户的 crontab。

这是man usermod

-l, --login 新登录
           用户的名称将从 LOGIN 更改为 NEW_LOGIN。其他内容保持不变。特别是,用户的主目录名称可能应该手动更改为
           反映新的登录名。

这里明确提到了Nothing else is changed所以下面的文件/var/spool/cron将不会被更新,因为此文件将在创建用户帐户时创建(路径可能因您的系统而异)

只需将此文件重命名为您的新用户名。

输入该内容后,crontab -l它还会列出您的旧 crontab。

你是说这不是正确的方法对吧?

如果我有任何其他方法我会更新我的帖子。

相关内容