我如何复制和备份我的 cronjobs?

我如何复制和备份我的 cronjobs?

我是 Ubuntu 新手...我想知道如何访问 /var/spool/cron/crontab 目录...我只想将我的 cronjob 复制到 /etc/cron.daily 。

答案1

无论您进行什么系统备份都应该包括 /var/spool 和 /etc 目录,因此您不需要执行任何特殊操作来备份您的 cron 表。

每个用户的 cron 表位于 中/var/spool/cron/crontabs/。您不能直接编辑这些文件,而是使用crontab -e来编辑它们(或crontab -l查看它们)。

系统范围的 cron 表被分成多个文件,位于/etc/cron.d/

/etc/cron.daily/诸如、等附加目录/etc/cron.hourly/不保存 cron 表,而是保存系统 cron 表以该频率调用的脚本。它们旨在允许程序包在需要定期运行任务时将任务放入这些目录中。

如果您想更改 cron 运行的用户,最安全的方法是作为crontab -e第一个用户,从他们的 cron 表中删除该行,以第二个用户身份登录,crontab -e然后将该行添加到该用户的 cron 表中。

如果您希望在系统 cron 表中放置一个条目,您可以编写一个 cron 表并将其放置在 中/etc/cron.d/。但除非您要在整个系统范围内安装自己的软件,否则坚持使用每个用户的 cron 表通常更有意义。

答案2

尽管/var/spool/cron/crontabs/没有超级用户权限就无法访问,但是您仍然可以使用以下命令访问您自己的 crontab crontab -l

$ whoami
steeldriver
$ cat /var/spool/cron/crontabs/steeldriver
cat: /var/spool/cron/crontabs/steeldriver: Permission denied

$ crontab -l | tail -1
* * * * * /usr/bin/printenv > $HOME/cronenv

这是通过魔法实现的粘性位

$ ls -ld /var/spool/cron/crontabs/
drwx-wx--T 2 root crontab 4096 Jun  7 19:34 /var/spool/cron/crontabs/

相关内容