![重启时的 crontab 和屏幕](https://linux22.com/image/82269/%E9%87%8D%E5%90%AF%E6%97%B6%E7%9A%84%20crontab%20%E5%92%8C%E5%B1%8F%E5%B9%95.png)
我尝试创建一个 cron 命令,在 Debian 启动期间在屏幕上执行软件。通过执行此命令似乎很容易,但它不起作用(启动期间没有创建屏幕):
root@xxxx> crontab -u user_name -e
@reboot /usr/bin/screen -d -m rtorrent
此行似乎不起作用(我尝试使用“@reboot /usr/bin/screen -dmS torrent rtorrent”,但结果相同:未创建屏幕)。
我确信该命令正在工作,因为在没有 crontab 的情况下启动它可以完美地工作(但不会在启动期间自动启动):
user_name@xxxx> /usr/bin/screen -d -m rtorrent
(Result: The screen is created)
笔记:
root@xxxx> cat /etc/shadow |grep user_name
user_name:!:16694:0:99999:7:::
root@xxxx> cat /etc/passwd |grep user_name
user_name:x:1004:1004::/home/user_name:/bin/bash
我希望你有一个想法,因为我找不到关于这种行为的任何逻辑解释:'(
干杯,
昆汀
答案1
根据您的系统,您的环境变量可能未设置。您可以使用完整路径调用所有内容,也可以手动添加环境变量。为此(每个人 5 个 crontab),您可以在标准KEY = VALUE
布局中的 crontab 顶部插入变量
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
@reboot screen -d -m rtorrent