我想编写一个shell脚本来执行以下操作,会建议如何制作它?非常感谢
user_account_create_date
,此字段中的数据格式为ABC20130922
(2013年9月22日)伪代码:
if the date is within 7 days: # account is created within 7 days
then do
...
else do
...
我有一个如下脚本连接ldap,并检查用户帐户是否在7天内创建(脚本尚未完成)
timestamp = date --date="-7 days" +%Y%m%d%k%m%SZ
ldapsearch -h 192.168.1.100 -p 389 -D cn=admin,o=services -w pass -x "(&(objectclass=*)(createTimestamp>=$timestamp))"
then
我现在希望修改上述脚本,以便createTimestamp
获取可用于与时间戳进行比较的创建日期字符串。
答案 0 :(得分:0)
接近这一点应该有效:
ndays=7
timestamp=`date --date="-$ndays days" +'%Y%m%d'"100000Z"`
ldapsearch -x -LLL -h yourhost.yourdoamin.com -p 389 -b "ou=people,dc=yourdomain,dc=com" -D cn=admin,....,dc=yourdomain,dc=com -w yourpassword "(&(objectclass=inetorgperson)(modifytimestamp>=$timestamp))" modifytimestamp
我使用modifyTimeStamp进行测试,因为最近我的家庭系统上没有人创建过。
-Jim
答案 1 :(得分:0)
确保时间戳具有正确的语法(通用时间)。在断言(过滤器)中使用值时,该值必须是属性的语法。此外,不需要过滤器的objectClass=*
组件:所有条目至少有一个objectClass
。