下面整理一些自解压安装脚本,可以用来做生产环境的一键安装配置包。省得登录每个服务器去做安装配置
1,从指定行开始自解压
#!/bin/bash
rm -rf /root/lnmp
ARCHIVE=`awk '/^__ARCHIVE_BELOW__/ {print NR + 1; exit 0; }' $0`
tail -n+$ARCHIVE $0 | tar xzv
mv lnmp0.7 /root/lnmp
exit 0
__ARCHIVE_BELOW__
2,从指定字符开始自解压
#!/bin/sh
rm -rf /root/lnmp
HEADSIZE=`expr 00000099`
tail -c +$HEADSIZE $0 | tar zxvf -
mv lnmp0.7 /root/lnmp
exit 0
3,跳过前几行开始自解压
#!/bin/sh
rm -rf /root/lnmp
( read l; read l; read l; read l; read l; exec cat ) < "$0" | gunzip | tar xf -
mv lnmp0.7 /root/lnmp
exit 0
将上面三个脚本分别保存为test.sh,然后和所需要解压的文件lnmp.tar.gz放在同一个目录下执行
cat test.sh lnmp.tar.gz >> installer.sh
chmod 755 installer.sh
然后拷贝installer.sh到各个服务器上就可以安装了
(测试了一下,第2和第3个脚本还有点问题,不过不影响安装)
可以在自解压脚本中添加自定义安装过程,比如移动文件夹,创建定时任务等
echo "* * * * * python /usr/local/var/curl_all.py > /dev/null 2>&1" > /tmp/crontab.tmp
echo "0 0 * * * bash /usr/local/var/curl_log_backup.sh" >> /tmp/crontab.tmp
crontab -l | egrep -v 'curl_all|curl_log_backup|^#' >> /tmp/crontab.tmp
crontab -u root /tmp/crontab.tmp