zimbra管理-程序员宅基地

技术标签: ldap  运维  开发工具  

转载:http://yang2001.blog.51cto.com/25307/737808


vim /etc/hosts
---------------------------------
127.0.0.1       localhost.localdomain    localhost
192.168.9.34  mail.myweb.com      mail

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
---------------------------------

echo mail.myweb.com > /etc/hostname

reboot
hostname -f

mv /bin/sh /bin/shbk
ln -s /bin/bash /bin/sh

apt-get install curl fetchmail libpcre3 libgmp3c2 libexpat1 libxml2 libtie-ixhash-perl

apt-get install sysstat
下载 zimbra压缩包
./install.sh

su - zimbra
zmcontrol status

vim /etc/resolv.conf
-----------------------
nameserver 192.168.1.8
-----------------------

=====================================================
ZCS自己具有垃圾邮件防范功能/opt/zimbra/conf/spamassassin的规则

/opt/zimbra/conf/amavisd.conf.in 白名单
blacklist_from [email protected]  黑名
whitelist_from *@yahoo.net   白名
zmmtactl restart && zmamavisdctl restart 重启

/opt/zimbra/conf/salocal.cf.in
blacklist_from [email protected]  白
whitelist_from [email protected]   黑

不要自动投递到“垃圾邮件”而是收件箱
解决:
$ su - zimbra        //更换到zimbra用户

$ zmprov gacf |grep Header    //查询相关参数
zimbraSpamHeader: X-Spam-Flag
zimbraSpamHeaderValue: YES
zimbraSpamReportSenderHeader: X-Zimbra-Spam-Report-Sender
zimbraSpamReportTypeHeader: X-Zimbra-Spam-Report-Type


//更改相关参数
$ zmprov mcf zimbraSpamHeader X-Cloudmark-Verdict
$ zmprov mcf zimbraSpamHeaderValue spam      /这行不要执行哦,什么原因,看下楼下老大的话

$ zmprov gacf |grep Header    //再查询相关参数,确认已经更改
zimbraSpamHeader: X-Cloudmark-Verdict
zimbraSpamHeaderValue: spam
zimbraSpamReportSenderHeader: X-Zimbra-Spam-Report-Sender
zimbraSpamReportTypeHeader: X-Zimbra-Spam-Report-Type

//重启相关服务
$ zmcontrol stop
$ zmcontrol start

--------------------------------------------------
/opt/zimbra/store  邮件存放路径
数据存储,位于/opt/zimbra/db 下的MySQL 数据库

索引存储,位于/opt/zimbra/index

日志文件,位于/opt/zimbra/log

创建单个用户 zmprov ca [email protected] 123456

[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected] 这里是zimbra自带的重要帐号

zmprov -l gaa >>/tmp/account

for i in `cat /tmp/account`
do
zmprov da $i;
done    批量删除脚本


zimbra小技巧之批量添加用户

NAMELIST=`cat userlist.txt`
DOMAIN=email.com
PASSWD=111111
ZMPROV=/opt/zimbra/bin/zmprov
for NAME in $NAMELIST
do
$ZMPROV ca $NAME@$DOMAIN $PASSWD
done

userlist.txt格式如下:
name1
name2
-----------------------------------------------------------------------
CentOS 6.0下安装Zimbra简单步骤及故障排查
yum install perl sysstat file openssh-clients nc fprintd-pam libstdc++.i686 
cd /usr/lib/
ln -s /usr/lib64/libstdc++.so.6

通过visudo编辑/etc/sudoers文件,注释
#Defaults    requiretty
如果不注释这行,安装过程会提示:sudo: sorry, you must have a tty to run sudo

停止系统自带的MTA服务:
 
chkconfig postfix off

否则后台显示mta服务不正常。

运行

./install.sh --platform-override

进行安装,注意域名服务的配合。

如果/var/log/secure提示错误信息

 
Sep 17 18:31:29 Zimbra-Mailbox-01 sudo:   zimbra : TTY=unknown ; PWD=/opt/zimbra ; USER=root ;COMMAND=/opt/zimbra/libexec/zmmailboxdmgr status
Sep 17 18:31:29 Zimbra-Mailbox-01 sudo: PAM unable to dlopen(/lib64/security/pam_fprintd.so): /lib64/security/pam_fprintd.so: cannot open shared object file: No such file or directory
Sep 17 18:31:29 Zimbra-Mailbox-01 sudo: PAM adding faulty module: /lib64/security/pam_fprintd.so

有两个解决办法:

1)、禁用fingerprint验证
 
authconfig --disablefingerprint --update

2)、安装frpintd-pam程序
 
yum install fprintd-pam

如果多服务器安装:
1、记得以root身份运行:
/opt/zimbra/libexec/zmsyslogsetup
配置系统的syslog,将日志送到远程的log server。
2、以zimbra身份运行:
zmupdateauthkeys

PS:
1、如果没有安装file,在MTA会提示:“parts_decode_ext FAILED: Unix utility file(1) not available”导致邮件无法正常收发。
2、如果不安装nc,则会导致zimconfigd无法启动,提示“zmconfigd is not running”。: yum install nc.x86_64
3、CentOS 6让rsyslogd接收远程的syslog,修改/etc/sysconfig/rsyslog文件,改成:SYSLOGD_OPTIONS=”-c 2 -r514″
4、如果系统所有组件不是安装在一台机器上,记得一定配置好zimbra-logger所在主机的rsyslog,否则管理界面将无法监控到其他服务器的运行状态。

===========================================================
zmlocalconfig -e mailboxd_java_heap_memory_percent=20
===========================================================

 

/opt/zimbra/libexec/zmsetup.pl 从配置那里安装


zmlocalconfig -e  zimbra_zmjava_options=”-Xms128m -Xmx128m”
修改java 内存
/opt/zimbra/libexec/zmfixperms -extended -verbose  修复zimbra
chown zimbra:root -R /opt/zimbra/jetty/logs/

 

如果要换机器或者从32到64之类的,最保险就是用zmailbox做导入导出.

zmbkpose工具是一个脚本,可以用来完成开源版本的账号的数据的热备份和恢复。

注意:本工具不能找代替灾难恢复工具
你可以从任何一台主机上运行这个工具,也就是说它可运行在其它一台已经存在的备份主机上。

这个工具是在ZCS 5.0.12以后才有的,因为这个版本提供了新的导入、导出功能,可以通过HTTP SOAP从远程获取所有用户的数据,再加上LDAP数据,就构成了ZCS的完整备份。所以,利用这个工具有可能备份已经被删除的用户的数据。

zmbkpose 1.0提供了如下特性:
所有账号的完整备份
任意账号的完整备份
所有账号的增量备份
任意账号的增量备份
显示已对完成的备份记录
将备份内容(邮件、联系人、日程安排等)恢复到任意账号
恢复已删除账号的数据

要运行zmbkpose,以下条件是必须的:

安装 ldap-utils 和 curl
建立目录:/etc/zmbkpose
建立配置文件/etc/zmbkpose/zmbkpose.conf
建立一个脚本,并使之有可运行的权限
直接输入zmbkpose,会显示该工具的用法


在进行mbox邮件迁移到zimbra的时候,运行脚本时遇到了
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space 的提示
用户的inbox的文件比较大,将近4G
zimbra_zmjava_options 参数,该参数应该是用于控制JVM使用内存大小。
用以下命令查了一下服务器的配置
zmlocalconfig | grep zimbra_zmjava_options发现该参数设定比较小,才256M
用以下命令修改该参数
zmlocalconfig -e zimbra_zmjava_options='-Xmx2048m'
修改后,重启zimbra
重新运行该脚本,脚本顺利运行,问题解决。


$ zmprov gaaa      //列出所有管理员
下面的命令将创建一个新的管理员账号,密码是test123:
zmprov ca [email protected] test123 zimbraIsAdminAccount TRUE

下面的命令将把一个已有的账号升级为管理员账号:
zmprov ma [email protected] zimbraIsAdminAccount TRUE

要改变密码:
zmprov sp [email protected] NEW_PASSWORD

ZIMBRA命令行方式常用的操作
将HTTP登陆方式更改为HTTP\HTTPS登陆方式
$ zmprov ms <servername> zimbraMailSSLPort <https port> (将HTTPS更改成非443端口)
$ zmtlsctl http\https
$ tomcat restart
 
smtp认证错误的解决
zmprov ms `zmhostname` zimbraMtaAuthHost mail.example.com
 
日志服务器错误的解决
$ zmprov getConfig zimbraLogHostname
$ zmprov modifyConfig zimbraLogHostname mail.domain.com
 
查看系统参数
可以通过zmlocalconfig -s命令查看系统的参数
$ postconf                                             //查看postfix的所有配置
$ zmlocalconfig                                        //查看各种组件的配置信息
$ zmlocalconfig -s|grep zimbra_ldap_userdn       //查看zimbra帐号在LDAP中的DN
$ zmlocalconfig -s|grep zimbra_ldap_userdn             //查看zimbra帐号在LDAP中的密码
$ zmlocalconfig -s|grep zimbra_mysql                   //查看mysql的配置信息
 
更改系统最大邮件大小:
查看最大系统邮件大小,显示当前系统最大邮件为10M。
$ postconf message_size_limit
message_size_limit = 10240000
将系统最大邮件大小更改为20M。
$ zmprov modifyConfig zimbraMtaMaxMessageSize 2048000
$ postfix reload
 
更改系统最大附件大小:
将系统中所有帐户允许最大的附件更改为5M
$ zmprov modifyConfig zimbraFileUploadMaxSize 5000000
将系统中mail2.domain.com帐户允许最大的附件更改为20M
$ zmprov modifyServer mail2.domain.com zimbraFileUploadMaxSize 20000000
 
更改LDAP密码:
$ ldap status(start)
$ zmldappasswd --root newpass (root)
$ zmldappasswd newpass         (zimbra)
 
更改MYSQL Database密码:
$ mysql.server status(start)
$ zmmypasswd --root newrootpass
$ zmmypasswd newpass
 
更改Logger MYSQL Database密码:
$ logmysql.server status(start)
$ zmmylogpasswd --root newrootpass  (root)
$ zmmylogpasswd newpass             (zimbra)
 
清空邮箱
$ zmmailbox -z -m [email protected] emptyFolder /[inbox][chats][sent][drafts][junk][trash]
inbox(收件箱)  chats(聊天)  snet(已发送邮件)  drafts(草稿箱)  junk(垃圾邮件)  trash(已删除邮件)
 
备份还原LDAP
1、备份LDAP(两个命令是相等的)
1)、ldapsearch -h 服务器对外的地址 -x -D "uid=zimbra,cn=admins,cn=zimbra" -w 密码 objectclass=* > 201014.ldif
2)、ldapsearch -h 服务器对外的地址 -x -D "uid=zimbra,cn=admins,cn=zimbra" -w 密码 > 201014.ldif
 
2、还原LDAP
ldapadd -h 服务器对外的地址 -x -c -D "uid=zimbra,cn=admins,cn=zimbra" -w 密码 < 20101214.ldif
 
导出导入用户的邮件
#!/bin/bash
while read  USER
do
TODAY=`date`
LOGFILE="/tmp/bak/backuplog.txt"
echo $TODAY  >> $LOGFILE
echo $USER >> $LOGFILE
/opt/zimbra/bin/zmmailbox -z -m $USER gms >> $LOGFILE
zmmailbox -z -m [email protected] getRestURL "//?fmt=tgz" > /tmp/bak/$USER.tgz
done < /tmp/user.txt
 
PS:user.txt里是用户名,不需要跟域名
 
恢复用户的邮件
zmmailbox -z -m [email protected] postRestURL "//?fmt=tgz&resolve=reset" tmp/bak/$USER.tgz
 
Zimbra之黑名单、白名单
由于zimbra采用ClamAV 做防病毒软件和SpamAssassin 做反垃圾邮件过滤器,但在WEB控制台中ClamAV+SpamAssassin只有6个调节选项。所以如果要想详细的调节防病毒、反垃圾邮件的功能只有更改相应的配置文件了。
例如调节SpamAssassin的配置文件实现黑名单、白名单的功能。
编辑/opt/zimbra/conf/amavisd.conf.in
寻找下列段落,然后加上你要信任的域:
{ # a hash-type lookup table (associative array)
    '[email protected]'                        => -3.0,
    '[email protected]'              => -3.0,
    '[email protected]'                    => -3.0,
    '[email protected]'                  => -3.0,
    '[email protected]'              => -3.0,
    '[email protected]'       => -3.0,
    '[email protected]'      => -3.0,
-10就是无条件信任了,相反+10就是无条件阻挡了。然后存盘,
$ su zimbra
$ zmamavisdctl stop
$ zmamavisdctl start


一、Zimbra 建立黑名单、白名单

很可惜目前似乎还没有 GUI 设置界面,所需的设置如下:

1. 修改 /opt/zimbra/conf/amavisd.conf,加入以下2行

read_hash(\%whitelist_sender, '/opt/zimbra/conf/whitelist');read_hash(\%blacklist_sender,'/opt/zimbra/conf/blacklist');

2. 在 /opt/zimbra/conf 目录建立 blacklist、whitelist 2个档案,档案内每一行放一个 email address。

3. 以 zimbra 身份,执行以下指令重新启动 antispam 模组/opt/zimbra/bin/zmamavisdctl restart

二、Zimbra证书过期的解决

但是今天邮件客户端突然提示证书过期,原来安装zimbra的时候自己签发的证书有效期是365天,也就是1年。虽然过期证书不影响正常使用,但提示还是比较烦人,于是在网上查资料,重新签发了一个证书,而且有效期10年。命令如下:

/opt/zimbra/bin/zmcertmgr createca -new
/opt/zimbra/bin/zmcertmgr deployca
/opt/zimbra/bin/zmcertmgr createcrt -new -days 3650
/opt/zimbra/bin/zmcertmgr deploycrt self
/opt/zimbra/bin/zmcertmgr viewdeployedcrt

三、Zimbra domain 状态变更为 suspend 后无法删除

zmprov -l md <被 suspend 的 domain> zimbraDomainStatus active

完成后执行以下指令查看状态是否正确

zmprov -l gd <被 suspend 的 domain>

这时候以 administrator 登入就可以正常刪除 domain 了

 

http://opengeek.cn/thread-610-1-1.html
http://yang2001.blog.51cto.com/25307/634394
http://saicho.blog.163.com/blog/static/4793566420111104325999/
====================================================================================================
Hear is what I did. Commands are in Italics.

1) Stop the Zimbra server, ensure all  Zimbra process, this works well after zmcontrol :-
# zmcontrol stop
# pkill -9 -u zimbra

2) Tar up /opt/zimbra , ensure you grab all permissions.
# tar -zcvpf zimbra-migration.tgz /opt/zimbra

3) On the new server to a &ldquo;Software Only Install&rdquo;. Ensure you are using the same install tarball as the old server install!
# ./install.sh -s

4) Remove everything in /opt/zimbra
# cd /opt/zimbra
# rm -rf *

5) Untar the backup we made into /opt/zimbra :-
# cd/opt
# tar -zxvf zimbra-migration.tgz .

6) Find the PID of the zimbra user  in /etc/passwd then update the localconf.xml with the new PID :-
Look for the &ldquo;zimbra_uid&rdquo; section
# vim /opt/zimbra/conf/localconf.xml

6) Fix the permissions I had to fix one addition folder to:-
Run the zimbra tool first.
# /opt/zimbra/libexec/zmfixperms &ndash;extended -verbose
I also had to fix this:-
# chown zimbra:root -R /opt/zimbra/jetty/logs/

7)  Start up zimbra the normal way and check the logs
# su &ndash; zimbra
# zmcontrol start
All logs are in &ldquo;/opt/zimbra/log/&rdquo;  main ones are &ldquo;mailbox.log&rdquo; &ldquo;zmconfigd.log&rdquo; but check them all!

8) Last thing is to update the allowed relay hosts, otherwise  you get this error &ldquo;554 5.7.1 : Relay access denied
code: mail.SEND_ABORTED_ADDRESS_FAILURE&rdquo; :-
Where &ldquo;MYHOST.COM&rdquo; is your host name  and&rdquo; xxx.xxx.xxx.xx/32&Prime; is your servers IP
# zmprov modifyServer MYHOST.COM zimbraMtaMyNetworks &rsquo;127.0.0.0/8 xxx.xxx.xxx.xxx/32

====================================================================================================
操作系统:CentOS-5.5
zimbra版本:zcs-7.1.1_GA

一、准备备份。
在开始之前,确保你登录的用户可以执行这里列出的任务。
在不可预见的情况下备份您的zimbra始终是一个很好的做法。在备份期间,为了阻止对zimbra数据库的写入你需要执行:[zimbra@www ~]$ zmcontrol stop
在不确定关于zimbra的进程是否都关闭的情况下,执行:[zimbra@www ~]# ps auxww | grep zimbra
如有,则把该进程杀掉。
二、备份。
确保存放备份数据的地方足够大以用来存放数据。
由于zimbra需要的所有组件都存储在zimbra它自己的文件夹中,所以你可以简单的把这个文件夹备份到一个安全的地方,执行:[zimbra@www ~]# cp -rp /opt/zimbra [location of backup]/zimbra_backup 
这个过程会花费一些时间,这取决于你的硬盘和zimbra文件夹中的数据量。
三、恢复。
在恢复之前你应该确保与zimbra损坏或者失败有关的所有程序需要被终止掉。未能终止所有的进程可能产生可怕的结果。
(1)把zimbra文件夹重命名
执行:[zimbra@www ~]# mv /opt/zimbra /opt/zimbra_broken 
为了安装你也可以把它彻底地一处/opt文件夹。之后,把zimbra的备份数据拷贝到/opt文件夹下面。[zimbra@www ~]# cp -rp [location of backup]/zimbra_backup /opt 
[zimbra@www ~]# mv /opt/zimbra_backup /opt/zimbra 
(2)下载一个zimbra
我们需要知道你用的zimbra的版本号。如果你不知道它的版本号,你可以执行以下步骤来找到它。[zimbra@www ~]# cd /opt/zimbra
[zimbra@www ~]# cat .install_history
在输出的最下边有你上次安装的记录,如下:1314016745: INSTALL SESSION START

1314016784: UPGRADED zimbra-core-7.1.1_GA_3196.RHEL5-20110527011124.i386.rpm
1314016788: UPGRADED zimbra-ldap-7.1.1_GA_3196.RHEL5-20110527011124.i386.rpm
1314016790: UPGRADED zimbra-logger-7.1.1_GA_3196.RHEL5-20110527011124.i386.rpm
1314016811: UPGRADED zimbra-mta-7.1.1_GA_3196.RHEL5-20110527011124.i386.rpm
1314016820: UPGRADED zimbra-snmp-7.1.1_GA_3196.RHEL5-20110527011124.i386.rpm
1314016892: UPGRADED zimbra-store-7.1.1_GA_3196.RHEL5-20110527011124.i386.rpm
1314016899: UPGRADED zimbra-apache-7.1.1_GA_3196.RHEL5-20110527011124.i386.rpm
1314016907: UPGRADED zimbra-spell-7.1.1_GA_3196.RHEL5-20110527011124.i386.rpm
1314016907: INSTALL SESSION COMPLETE
(3)安装zimbra
解压:[zimbra@www ~]# tar -xvzf [name of file].tgz

[zimbra@www ~]# mv [name of file] zcs

[zimbra@www ~]# cd zcs

[zimbra@www ~]# ./install.sh --platform-override
警告:不要执行./install.sh -u,它会清除所有的备份数据。
如果一切顺利,你可以看到:The Zimbra Collaboration Suite appears already to be installed.

It can be upgraded with no effect on existing accounts,

or the current installation can be completely removed prior

to installation for a clean install.

Do you wish to upgrade? [Y] 
这会清除已经存在的软件包,并重新安装一遍。
(4)重设权限
如果服务已经启动且正在运行,你也许会遇到一个需要克服的障碍:权限。
你需要在存储邮件的地方重新设置权限,通过:[zimbra@www ~]# chown -R zimbra:zimbra /opt/zimbra/store

[zimbra@www ~]# chown -R zimbra.zimbra /opt/zimbra/index 
并且通过root用户执行:[zimbra@www ~]# /opt/zimbra/libexec/zmfixperms
 

-------------------------
Zimbra开源版在未被你破解之前只支持冷备份(至于如何破解,不好意思,本人也不会哈哈),个人建议可从以下几步进行备份和恢复操作:
Step One:停止zimbra邮件系统服务;
Step Two:创建zimbra备份文件夹,同步zimbra邮件系统数据(如果恢复至原先发生故障的服务器时,建议采用rsync命令,加-avHK参数,这样保持了文件的原有属性及权限,不会由此引发问题);
Step Three:启动zimbra邮件系统服务;
突然ZCS服务器当机,但OS系统正常,只需要将zimbra卸载(至于如何较干净的卸载,可以参看http://wiki.zimbra.com/wiki/UnInstalling_Zimbra_on_Linux),重装zimbra。
Step Four:停止zimbra邮件系统服务;
Step Five:恢复邮件到备份前状态(此时执行rsync时加-a --delete参数);
Step Six:启动zimbra邮件系统服务。

至于服务器崩溃,需要将以前的/opt/zimbra/备份出来的数据迁移至新的服务器或将服务器修好后重新装系统后重新迁移回去,这情况恢复时就要chown -R和/opt/zimbra/libexec/zmfixperms操作了。对于ZCS6及以上的版本,./install.sh会有预安装的选项,看看help进行操作,不需要完整的ZCS安装,预安装后将原/opt/zimbra/复制过去,然后进行chown -R和/opt/zimbra/libexec/zmfixperms操作,重启ZCS服务就OK了。

注意:不管是备份后的恢复还是备份后的迁移最好是保证软件环境相同,即OS平台相同,ZCS版本相同,IP地址不曾改变,hostname及zmhostname名相同及其他的配置文件相同。但如果对Linux系统内核及ZCS非常熟悉且熟悉得非常时,不排除跨OS平台跨ZCS版本外加32bit Switch 64bit的成功迁移

http://opengeek.cn/forum.php?mod=viewthread&tid=868&highlight=%E5%A4%87%E4%BB%BD




      本文转自Tenderrain 51CTO博客,原文链接:http://blog.51cto.com/tenderrain/1702535,如需转载请自行联系原作者




版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_33968104/article/details/89806359

智能推荐

c# 调用c++ lib静态库_c#调用lib-程序员宅基地

文章浏览阅读2w次,点赞7次,收藏51次。四个步骤1.创建C++ Win32项目动态库dll 2.在Win32项目动态库中添加 外部依赖项 lib头文件和lib库3.导出C接口4.c#调用c++动态库开始你的表演...①创建一个空白的解决方案,在解决方案中添加 Visual C++ , Win32 项目空白解决方案的创建:添加Visual C++ , Win32 项目这......_c#调用lib

deepin/ubuntu安装苹方字体-程序员宅基地

文章浏览阅读4.6k次。苹方字体是苹果系统上的黑体,挺好看的。注重颜值的网站都会使用,例如知乎:font-family: -apple-system, BlinkMacSystemFont, Helvetica Neue, PingFang SC, Microsoft YaHei, Source Han Sans SC, Noto Sans CJK SC, W..._ubuntu pingfang

html表单常见操作汇总_html表单的处理程序有那些-程序员宅基地

文章浏览阅读159次。表单表单概述表单标签表单域按钮控件demo表单标签表单标签基本语法结构<form action="处理数据程序的url地址“ method=”get|post“ name="表单名称”></form><!--action,当提交表单时,向何处发送表单中的数据,地址可以是相对地址也可以是绝对地址--><!--method将表单中的数据传送给服务器处理,get方式直接显示在url地址中,数据可以被缓存,且长度有限制;而post方式数据隐藏传输,_html表单的处理程序有那些

PHP设置谷歌验证器(Google Authenticator)实现操作二步验证_php otp 验证器-程序员宅基地

文章浏览阅读1.2k次。使用说明:开启Google的登陆二步验证(即Google Authenticator服务)后用户登陆时需要输入额外由手机客户端生成的一次性密码。实现Google Authenticator功能需要服务器端和客户端的支持。服务器端负责密钥的生成、验证一次性密码是否正确。客户端记录密钥后生成一次性密码。下载谷歌验证类库文件放到项目合适位置(我这边放在项目Vender下面)https://github.com/PHPGangsta/GoogleAuthenticatorPHP代码示例://引入谷_php otp 验证器

【Python】matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距-程序员宅基地

文章浏览阅读4.3k次,点赞5次,收藏11次。matplotlib.plot画图横坐标混乱及间隔处理_matplotlib更改横轴间距

docker — 容器存储_docker 保存容器-程序员宅基地

文章浏览阅读2.2k次。①Storage driver 处理各镜像层及容器层的处理细节,实现了多层数据的堆叠,为用户 提供了多层数据合并后的统一视图②所有 Storage driver 都使用可堆叠图像层和写时复制(CoW)策略③docker info 命令可查看当系统上的 storage driver主要用于测试目的,不建议用于生成环境。_docker 保存容器

随便推点

网络拓扑结构_网络拓扑csdn-程序员宅基地

文章浏览阅读834次,点赞27次,收藏13次。网络拓扑结构是指计算机网络中各组件(如计算机、服务器、打印机、路由器、交换机等设备)及其连接线路在物理布局或逻辑构型上的排列形式。这种布局不仅描述了设备间的实际物理连接方式,也决定了数据在网络中流动的路径和方式。不同的网络拓扑结构影响着网络的性能、可靠性、可扩展性及管理维护的难易程度。_网络拓扑csdn

JS重写Date函数,兼容IOS系统_date.prototype 将所有 ios-程序员宅基地

文章浏览阅读1.8k次,点赞5次,收藏8次。IOS系统Date的坑要创建一个指定时间的new Date对象时,通常的做法是:new Date("2020-09-21 11:11:00")这行代码在 PC 端和安卓端都是正常的,而在 iOS 端则会提示 Invalid Date 无效日期。在IOS年月日中间的横岗许换成斜杠,也就是new Date("2020/09/21 11:11:00")通常为了兼容IOS的这个坑,需要做一些额外的特殊处理,笔者在开发的时候经常会忘了兼容IOS系统。所以就想试着重写Date函数,一劳永逸,避免每次ne_date.prototype 将所有 ios

如何将EXCEL表导入plsql数据库中-程序员宅基地

文章浏览阅读5.3k次。方法一:用PLSQL Developer工具。 1 在PLSQL Developer的sql window里输入select * from test for update; 2 按F8执行 3 打开锁, 再按一下加号. 鼠标点到第一列的列头,使全列成选中状态,然后粘贴,最后commit提交即可。(前提..._excel导入pl/sql

Git常用命令速查手册-程序员宅基地

文章浏览阅读83次。Git常用命令速查手册1、初始化仓库git init2、将文件添加到仓库git add 文件名 # 将工作区的某个文件添加到暂存区 git add -u # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,不处理untracked的文件git add -A # 添加所有被tracked文件中被修改或删除的文件信息到暂存区,包括untracked的文件...

分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120-程序员宅基地

文章浏览阅读202次。分享119个ASP.NET源码总有一个是你想要的_千博二手车源码v2023 build 1120

【C++缺省函数】 空类默认产生的6个类成员函数_空类默认产生哪些类成员函数-程序员宅基地

文章浏览阅读1.8k次。版权声明:转载请注明出处 http://blog.csdn.net/irean_lau。目录(?)[+]1、缺省构造函数。2、缺省拷贝构造函数。3、 缺省析构函数。4、缺省赋值运算符。5、缺省取址运算符。6、 缺省取址运算符 const。[cpp] view plain copy_空类默认产生哪些类成员函数

推荐文章

热门文章

相关标签