前面连接ip
expect root@* {send "echo \"10 0 * * * /opt/tomcat/autoDelete10dayLog.sh >/dev/null 2>&1\" >> /var/spool/cron/root \r" } ;
expect root@* { send "sed -i '1s/^/\\/data\\/logs\\/nginxlog\\/\\*log /' /etc/logrotate.d/nginx\r" } ;
expect root@* { send "exit\r" } ;
我这是root账户的,供参考。
sed那个是在logrotate.d开头加个字符串,就是个正则替换,所以/和*我都转义了。 正常命令是: sed -i '1s/^/\/data\/logs\/nginxlog\/\*log /' /etc/logrotate.d/nginx 就是把^(也就是开头位置)替换为/data/logs/nginxlog/*log 转义看着晕
放到expect脚本里,斜线还得转义,所以变成两个斜线了。
|