我管理着大约 7 台 Debian 服务器,我想将它们设置为自动更新。所以,我创建了一个脚本:
#!/bin/sh
apt-get update
apt-get upgrade
Run Code Online (Sandbox Code Playgroud)
并将其放在root
's crontab 列表中。不幸的是,它总是挂在升级部分,询问我是否确定要升级。因为它是一个 cron 工作,所以我看不到输出,直到它通过电子邮件告诉我它失败了。有没有办法让它跳过那个提示,然后自动升级?
在我继承的服务器cron
上,其中一台 Debian 服务器上每小时运行一次作业。它发送电子邮件出一个不存在的邮件,但反弹到我的帐户,因为我自己所列的root
电子邮件/etc/aliases
。cron 作业已从/etc/cron.hourly
(原为ntupdate
)中删除,如电子邮件中所列。我重新加载了crontab
守护进程,但我仍然收到每小时报告文件无法启动,并且电子邮件地址不存在!
通过电子邮件发送的输出:
/etc/cron.hourly/ntpdate:
run-parts: failed to exec /etc/cron.hourly/ntpdate: Exec format error
run-parts: /etc/cron.hourly/ntpdate exited with return code 1
Run Code Online (Sandbox Code Playgroud)
目前,只有.placeholder
隐藏文件在/etc/cron.hourly
. 我也跑了crontab -l
,预计列出的只有 3 个作业会被列出,并且在这封电子邮件不断到达后大约 10 分钟正在运行;所以我知道它不是其中之一。我可以在哪里查看以停止接收这些电子邮件?
编辑#1
# ls -l /var/spool/cron
total 4
drwx-wx--T 2 root crontab 4096 Jan 25 2012 crontabs
Run Code Online (Sandbox Code Playgroud)
编辑#2
# ls -l /var/spool/cron/crontabs/
total 4
-rw------- 1 root crontab 311 Jan 25 2012 root
# …
Run Code Online (Sandbox Code Playgroud) 我想将一些文件重命名为其内容的 MD5 总和;例如,如果文件foo
为空,则应将其重命名为d41d8cd98f00b204e9800998ecf8427e
.
它必须是脚本还是我可以使用类似rename
工具的东西?
我正在运行一个继承的 Debian Squeeze 服务器(阅读:我刚刚得到了这份新工作,服务器是由最后一个人设置的),我在apt-get
. 执行 a 时出现的最后错误sudo apt-get update
是W: GPG error: http://hwraid.le-vert.net squeeze Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6005210E23B3D3B4
. 我已经在 apt-get update 上提到了“没有可用的公钥”,但该解决方案对我不起作用(sudo aptitude install debian-keyring debian-archive-keyring
)。
我还能尝试什么?我接下来应该看哪里?
我们正准备从旧式域迁移到基于 Active Directory 的 Samba。目前我们所有的组都是扁平的 - 用户属于组,但组不能属于其他组。因为我想改变它,所以我需要列出所有用户组。
问题是有成千上万的用户和成千上万的组。我需要的是列出具有 2 个或更多成员的组,然后只在命令行上显示组名。这应该消除用户组或只有一个用户的组。
我怎样才能在 Debian 中做到这一点?
我正在重新编写代码以使用较新的系统。我没有写原始代码,但我试图使用旧代码作为模板。当我自己运行命令时,它工作正常。当我尝试在 shell 中将它作为脚本或函数的一部分运行时,它没有。
#!/bin/bash
function find_user() {
local txt
local user_list
local username
local displayName
echo "Find User"
echo "---------"
echo -n "Enter search text (e.g: lib): "
read txt
if [ -z "$txt" ] || ! validate_fullname "$txt"; then
echo "Search cancelled."
else
echo
user_list="$(samba-tool user list | grep -i ${txt} | sort)"
(
echo "Username Full_Name"
echo "-------- ---------"
# Dev Note: Get the username, then displayName parameter, replacing
# the spaces in displayName with an underscore. Do …
Run Code Online (Sandbox Code Playgroud)