寻觅生命中的那一片浅草......

文章带标签 Zimbra

Zimbra:更新收件人地址栏的提示

我们遭遇的问题

我们用的是Zimbra系统,大家在发邮件的时候,收件人地址自动完成,有3个地方来做

  1. GAL:全称是Global Address List,就是全局地址列表,这个优先级更高一些
  2. mailbox ranking table,这个存在于各个账号中,当你在填入收件人的时候,选择了其中一个地址,那么这个地址就会缓存在这个table中
  3. 个人邮箱中的「联系人」

当某个账号修改了姓名,在发邮件的时候,在地址栏输入地址,显示的姓名还是旧的,这时需要处理上面所 列的3个地方

解决办法

更新下GAL

将LDAP的信息同步到GAL,其中zimbra需要根据具体的设置来修改,默认就是zimbra或者InternalGAL

zmgsautil forceSync -a galsync@example.com -n zimbra
zmgsautil fullSync -a galsync@example.com -n zimbra

更新GAL这一步实际不是必须,因为系统会每天同步一次的,假设你是修改后一天之后才发现还是就的,那么这里就不需要这一步,具体可以去后台看看,或者命令行也可以,不过我没有去查命令怎么看

配置 -> 域名 -> 齿轮图标 -> 设置GAL

Clear mailbox ranking table

这是要逐个清理的,也就是你有100个账号,那么你就要遍历100个账号去处理

for i in `cat  /tmp/all_account.txt`
do
    echo $i;zmsoap -z -m $i RankingActionRequest/action @op=reset
done

# 上面每处理一个账号都会返回如下信息
<RankingActionResponse xmlns="urn:zimbraMail"/>

其中all_accout.txt的格式是

user1
user2

联系人

如果执行了这个操作,显示的还是旧的,那估计是该账号的「联系人」里保存的是旧的了,此时只能让该用户自行修改「联系人」中保存的信息了

其他知识

  • GAL的信息是来自galsync@example.com这个邮箱账号,登录进去可以看到,不建议直接修改这里
  • 检查GAL,就是看我输入user,那么GAL会返回什么给我
zmmailbox -z -m user@example.com autoComplete -v user

当du遇上硬链接

同一个目录,大小前后不一致

昨天重新看了zimbra的备份,发现源已经降到200G了,但同步后的目标目录还有300G,百思不得其解。用du看目录大小,也遭遇了很奇怪的现象,来看下面的命令

# 下面的命令得出的大小是700M
du -sh 106
# 下面的命令会先后(注意这个先后)匹配出100、106、108,得出106是300M
du -sh 10*

解决过程

按照惯例,如此奇葩的问题,当然要抛出来给大家看看,同事的处理过程

# 当我们调整下目录的顺序
# 得出的大小和上面单独检查106的大小是一样的
du -sh 106 100 108

strace跟踪,发现有SYMLINK字样,0代表是具有相同链接的文件只统计一次,这里也解释了为什么把目录的顺序调整下,大小就不一样,因为前面统计了,后面的就不统计

AT_SYMLINK_NOFOLLOW
newfstatat(6, "4540-21500.msg", {st_mode=S_IFREG|0640, st_size=2590, ...}, AT_SYMLINK_NOFOLLOW) = 0

查找链接

首先是软链接

# 可惜没有找到
find . -type l

那么就是硬链接啦,没有什么好办法,只好统计下具有相同inode节点文件个数

ls -liR | awk '{print $1}' | sort | uniq -c | sort -k1r

解决rsync后目录变大的问题

其实zimbra官方提供的备份脚本,rsync带有HK参数,其中H就是处理硬链接,而我们只用了av,解决办法就是加上HK

rsync -avHK
2018年十一月
« 2月    
 1234
567891011
12131415161718
19202122232425
2627282930