📄 amanda.spec
字号:
echo "`date +'%b %e %Y %T'`: !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE} PASSWD_OK=1 fielse # log information about 'amanda' user parameters echo "`date +'%b %e %Y %T'`:" >>${TMPFILE} echo "`date +'%b %e %Y %T'`: The Amanda backup software is configured to operate as the" >>${TMPFILE} echo "`date +'%b %e %Y %T'`: user '%{amanda_user}'. This user exists on your system and has not" >>${TMPFILE} echo "`date +'%b %e %Y %T'`: been modified. To ensure that Amanda functions properly," >>${TMPFILE} echo "`date +'%b %e %Y %T'`: please see that the following parameters are set for that" >>${TMPFILE} echo "`date +'%b %e %Y %T'`: user.:" >>${TMPFILE} echo "`date +'%b %e %Y %T'`:" >>${TMPFILE} echo "`date +'%b %e %Y %T'`: SHELL: /bin/sh" >>${TMPFILE} echo "`date +'%b %e %Y %T'`: HOME: %{AMANDAHOMEDIR}" >>${TMPFILE} echo "`date +'%b %e %Y %T'`: Default group: %{amanda_group}" >>${TMPFILE} echo "`date +'%b %e %Y %T'`: Verifying %{amanda_user} parameters :" >>${TMPFILE} if [ "`id -gn %{amanda_user}`" != "disk" ] ; then echo "`date +'%b %e %Y %T'`: !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE} echo "`date +'%b %e %Y %T'`: !!! user 'amandabackup' is not part of the disk group,Pl !!!" >>${TMPFILE} echo "`date +'%b %e %Y %T'`: !!! make sure it is corrected before start using Amanda !!!" >>${TMPFILE} echo "`date +'%b %e %Y %T'`: !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE} else echo "`date +'%b %e %Y %T'`: Verified group name of user 'amandabackup'" >>${TMPFILE} fi if [ "`grep ^%{amanda_user} /etc/passwd|cut -d: -f7`" != "/bin/sh" ] ; then echo "`date +'%b %e %Y %T'`: !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE} echo "`date +'%b %e %Y %T'`: !!! user 'amandabackup' default shell should be set to !!!" >>${TMPFILE} echo "`date +'%b %e %Y %T'`: !!! /bin/sh, pl correct before start using Amanda !!!" >>${TMPFILE} echo "`date +'%b %e %Y %T'`: !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE} else echo "`date +'%b %e %Y %T'`: Verified Default shell for user 'amandabackup'" >>${TMPFILE} fi if [ "`grep ^%{amanda_user} /etc/passwd|cut -d: -f6`" != "%{AMANDAHOMEDIR}" ] ; then echo "`date +'%b %e %Y %T'`: !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE} echo "`date +'%b %e %Y %T'`: !!! user 'amandabackup' home directory should be set to !!!" >>${TMPFILE} echo "`date +'%b %e %Y %T'`: !!! %{AMANDAHOMEDIR} Pl correct before using Amanda !!!" >>${TMPFILE} echo "`date +'%b %e %Y %T'`: !!! WARNING! WARNING! WARNING! WARNING! WARNING! WARNING! !!!" >>${TMPFILE} else echo "`date +'%b %e %Y %T'`: Verified Default home directory for user amandabackup" >>${TMPFILE} fi echo "`date +'%b %e %Y %T'`:" >>${TMPFILE} PASSWD_OK=0fiif [ -d %{AMANDAHOMEDIR} ] ; then echo -n "`date +'%b %e %Y %T'`: Checking ownership of '%{AMANDAHOMEDIR}'... " >>${TMPFILE} if [ "`ls -dl %{AMANDAHOMEDIR} | awk '//{split($_,x); print x[3]}'`" = "%{amanda_user}" ] && \ [ "`ls -dl %{AMANDAHOMEDIR} | awk '//{split($_,x); print x[4]}'`" = "%{amanda_group}" ] ; then echo "correct." >>${TMPFILE} VARLIB_OK=0 else echo "incorrect!" >>${TMPFILE} echo "`date +'%b %e %Y %T'`: Please ensure that the directory '%{AMANDAHOMEDIR}' is owned by" >>${TMPFILE} echo "`date +'%b %e %Y %T'`: the user '%{amanda_user}' and group '%{amanda_group}'." >>${TMPFILE} VARLIB_OK=1 fielse VARLIB_OK=0fiecho "`date +'%b %e %Y %T'`:" >>${TMPFILE}if [ ! -e ${LOGDIR} ] ; then # create log directory mkdir -m 0750 ${LOGDIR} >>${TMPFILE} 2>&1 chown %{amanda_user}:%{amanda_group} ${LOGDIR} >>${TMPFILE} 2>&1elif [ ! -d ${LOGDIR} ] ; then mv ${LOGDIR} ${LOGDIR}.rpmsave >>${TMPFILE} 2>&1 mkdir -m 0750 ${LOGDIR} >>${TMPFILE} 2>&1 chown %{amanda_user}:%{amanda_group} ${LOGDIR} >>${TMPFILE} 2>&1 mv ${LOGDIR}.rpmsave ${LOGDIR}/ >>${TMPFILE} 2>&1fiif [ ${PASSWD_OK} -eq 1 ] || [ ${VARLIB_OK} -eq 1 ] ; then cat ${TMPFILE} cat ${TMPFILE} >>${INSTALL_ERR} echo "Please review '${INSTALL_ERR}' to correct errors which have prevented the Amanda installaton." >&2 echo "Amanda installation log can be found in '${INSTALL_LOG}' and errors (if any) in '${INSTALL_ERR}'." exit 1else cat ${TMPFILE} cat ${TMPFILE} >>${INSTALL_LOG}fiecho "`date +'%b %e %Y %T'`: === Amanda backup server installation started. ===" >${TMPFILE}cat ${TMPFILE}cat ${TMPFILE} >>${INSTALL_LOG}if [ -f "${TMPFILE}" ]; then rm -f "${TMPFILE}"fi%post backup_serverTMPFILE=`mktemp /tmp/rpm-amanda.XXXXXXXXXXX`if [ $? -ne 0 ]; then echo "Unable to mktemp!" 1>&2 exit 1fiLOGDIR="%{LOGDIR}"INSTALL_LOG="${LOGDIR}/install.log"INSTALL_ERR="${LOGDIR}/install.err"echo -n "`date +'%b %e %Y %T'`: Updating system library cache..." >${TMPFILE}/sbin/ldconfigecho "done." >>${TMPFILE}cat ${TMPFILE}cat ${TMPFILE} >>${INSTALL_LOG}if [ -e /etc/xinetd.d ] && [ -d /etc/xinetd.d ] ; then if [ ! -f /etc/xinetd.d/amandaserver ] ; then cp %{AMANDAHOMEDIR}/example/xinetd.amandaserver /etc/xinetd.d/amandaserver chmod 0644 /etc/xinetd.d/amandaserver >>${TMPFILE} 2>&1 if [ -f /etc/xinetd.d/amandaclient ] ; then rm /etc/xinetd.d/amandaclient fi echo -n "`date +'%b %e %Y %T'`: Reloading xinetd configuration..." >${TMPFILE} if [ "%{xinetd_reload}" == "reload" ] ; then /etc/init.d/xinetd %{xinetd_reload} >>${TMPFILE} 2>&1 ret_val=$? if [ ${ret_val} -ne 0 ] ; then echo -n "reload failed. Attempting restart..." >>${TMPFILE} /etc/init.d/xinetd restart >>${TMPFILE} 2>&1 ret_val=$? fi else /etc/init.d/xinetd %{xinetd_reload} >>${TMPFILE} 2>&1 ret_val=$? fi if [ ${ret_val} -eq 0 ] ; then echo "success." >>${TMPFILE} cat ${TMPFILE} cat ${TMPFILE} >>${INSTALL_LOG} else echo "failed. Please check your system logs." >>${TMPFILE} cat ${TMPFILE} 1>&2 cat ${TMPFILE} >>${INSTALL_ERR} fi fifiecho "`date +'%b %e %Y %T'`: Installing '%{LOCALSTATEDIR}/amanda/amandates'." >${TMPFILE}ret_val=0if [ ! -f %{LOCALSTATEDIR}/amanda/amandates ] ; then touch %{LOCALSTATEDIR}/amanda/amandates >>${TMPFILE} 2>&1 ret_val=$? if [ ${ret_val} -eq 0 ]; then echo "`date +'%b %e %Y %T'`: The file '%{LOCALSTATEDIR}/amanda/amandates' has been created." >>${TMPFILE} fifiif [ ${ret_val} -eq 0 ]; then echo "`date +'%b %e %Y %T'`: Ensuring correct permissions for '%{LOCALSTATEDIR}/amanda/amandates'." >>${TMPFILE} chown %{amanda_user}:%{amanda_group} %{LOCALSTATEDIR}/amanda/amandates >>${TMPFILE} 2>&1 chmod 0640 %{LOCALSTATEDIR}/amanda/amandates >>${TMPFILE} 2>&1fiif [ ${ret_val} -eq 0 ]; then echo "`date +'%b %e %Y %T'`: '%{LOCALSTATEDIR}/amanda/amandates' Installation successful." >>${TMPFILE} cat ${TMPFILE} cat ${TMPFILE} >>${INSTALL_LOG}else echo "`date +'%b %e %Y %T'`: '%{LOCALSTATEDIR}/amanda/amandates' Installation failed." >>${TMPFILE} cat ${TMPFILE} cat ${TMPFILE} >>${INSTALL_ERR}fi# Install .amandahosts to serverecho "`date +'%b %e %Y %T'`: Checking '%{AMANDAHOMEDIR}/.amandahosts' file." >${TMPFILE}if [ ! -f %{AMANDAHOMEDIR}/.amandahosts ] ; then touch %{AMANDAHOMEDIR}/.amandahosts >>${TMPFILE} 2>&1fifor host in localhost localhost.localdomain ; do if [ -z "`grep \"^${host}[[:blank:]]\+root[[:blank:]]\+amindexd[[:blank:]]\+amidxtaped\" %{AMANDAHOMEDIR}/.amandahosts`" ] ; then echo "${host} root amindexd amidxtaped" >>%{AMANDAHOMEDIR}/.amandahosts fi if [ -z "`grep \"^${host}[[:blank:]]\+%{amanda_user}[[:blank:]]\+amdump\" %{AMANDAHOMEDIR}/.amandahosts`" ] ; then echo "${host} %{amanda_user} amdump" >>%{AMANDAHOMEDIR}/.amandahosts fidonechown %{amanda_user}:%{amanda_group} %{AMANDAHOMEDIR}/.amandahosts >>${TMPFILE} 2>&1chmod 0600 %{AMANDAHOMEDIR}/.amandahosts >>${TMPFILE} 2>&1cat ${TMPFILE}cat ${TMPFILE} >>${INSTALL_LOG}# Install amanda client configuration fileecho "`date +'%b %e %Y %T'`: Checking '%{SYSCONFDIR}/amanda/amanda-client.conf' file." >${TMPFILE}if [ ! -f %{SYSCONFDIR}/amanda/amanda-client.conf ] ; then cp %{AMANDAHOMEDIR}/example/amanda-client.conf %{SYSCONFDIR}/amanda/amanda-client.conf >>${TMPFILE} 2>&1fichown %{amanda_user}:%{amanda_group} %{SYSCONFDIR}/amanda/amanda-client.conf >>${TMPFILE} 2>&1chmod 0600 %{SYSCONFDIR}/amanda/amanda-client.conf >>${TMPFILE} 2>&1cat ${TMPFILE}cat ${TMPFILE} >>${INSTALL_LOG}# install am_passphrase file to serverecho "`date +'%b %e %Y %T'`: Checking '%{AMANDAHOMEDIR}/.am_passphrase' file." >${TMPFILE}if [ ! -f %{AMANDAHOMEDIR}/.am_passphrase ] ; then echo "`date +'%b %e %Y %T'`: Create '%{AMANDAHOMEDIR}/.am_passphrase' file." >${TMPFILE} touch %{AMANDAHOMEDIR}/.am_passphrase >>${TMPFILE} 2>&1 phrase=`echo "amandabackup" | md5sum | awk '{print $1}'` echo ${phrase} >>%{AMANDAHOMEDIR}/.am_passphrase chown %{amanda_user}:%{amanda_group} %{AMANDAHOMEDIR}/.am_passphrase >>${TMPFILE} 2>&1 chmod 0700 %{AMANDAHOMEDIR}/.am_passphrase >>${TMPFILE} 2>&1ficat ${TMPFILE}cat ${TMPFILE} >>${INSTALL_LOG}# Install .gnupg directoryecho "`date +'%b %e %Y %T'`: Installing '%{AMANDAHOMEDIR}/.gnupg'." >${TMPFILE}ret_val=0if [ ! -d %{AMANDAHOMEDIR}/.gnupg ] ; then echo "`date +'%b %e %Y %T'`: '%{AMANDAHOMEDIR}/.gnupg' will be created." >>${TMPFILE} mkdir %{AMANDAHOMEDIR}/.gnupg >>${TMPFILE} 2>&1 ret_val=$? if [ ${ret_val} -eq 0 ]; then echo "`date +'%b %e %Y %T'`: The directory '%{AMANDAHOMEDIR}/.gnupg' created successfully." >>${TMPFILE} else echo "`date +'%b %e %Y %T'`: The directory '%{AMANDAHOMEDIR}/.gnupg' creation failed." >>${TMPFILE} fifiif [ ${ret_val} -eq 0 ]; then echo "`date +'%b %e %Y %T'`: Ensuring correct permissions for '%{SYSCONFDIR}/.gnupg'." >>${TMPFILE} chown %{amanda_user}:%{amanda_group} %{AMANDAHOMEDIR}/.gnupg >>${TMPFILE} 2>&1 ret_val=$? if [ ${ret_val} -eq 0 ]; then chmod 700 %{AMANDAHOMEDIR}/.gnupg >>${TMPFILE} 2>&1 ret_val=$? fifiif [ ${ret_val} -eq 0 ]; then echo "`date +'%b %e %Y %T'`: '%{AMANDAHOMEDIR}/.gnupg' Installation successful." >>${TMPFILE} cat ${TMPFILE} cat ${TMPFILE} >>${INSTALL_LOG}else echo "`date +'%b %e %Y %T'`: '%{AMANDAHOMEDIR}/.gnupg' Installation failed." >>${TMPFILE} cat ${TMPFILE} cat ${TMPFILE} >>${INSTALL_ERR}fi# SSH RSA key generation on server for amdumpKEYDIR="%{AMANDAHOMEDIR}/.ssh"KEYFILE="id_rsa_amdump"COMMENT="%{amanda_user}@server"if [ ! -d ${KEYDIR} ] ; then if [ -f ${KEYDIR} ] ; then echo "`date +'%b %e %Y %T'`: Directory '${KEYDIR}' exists as a file. Renaming to '${KEYDIR}.rpmsave'." >${TMPFILE} mv ${KEYDIR} ${KEYDIR}.rpmsave >>${TMPFILE} 2>&1 cat ${TMPFILE} cat ${TMPFILE} >>${INSTALL_LOG} fi echo "`date +'%b %e %Y %T'`: Creating directory '${KEYDIR}'." >${TMPFILE} mkdir ${KEYDIR} >>${TMPFILE} 2>&1 cat ${TMPFILE} cat ${TMPFILE} >>${INSTALL_LOG}fiif [ ! -f ${KEYDIR}/${KEYFILE} ] ; then echo "`date +'%b %e %Y %T'`: Creating ssh RSA key in '${KEYDIR}/${KEYFILE}'" >${TMPFILE} ssh-keygen -q -C $COMMENT -t rsa -f ${KEYDIR}/${KEYFILE} -N '' >>${TMPFILE} 2>&1 cat ${TMPFILE} cat ${TMPFILE} >>${INSTALL_LOG}fiecho "`date +'%b %e %Y %T'`: Setting ownership and permissions for '${KEYDIR}' and '${KEYDIR}/${KEYFILE}*'" >${TMPFILE}chown %{amanda_user}:%{amanda_group} ${KEYDIR} ${KEYDIR}/${KEYFILE}* >>${TMPFILE} 2>&1chmod 0750 ${KEYDIR} >>${TMPFILE} 2>&1chmod 0600 ${KEYDIR}/${KEYFILE}* >>${TMPFILE} 2>&1cat ${TMPFILE}cat ${TMPFILE} >>${INSTALL_LOG}# SSH RSA key generation on client for amrecoverKEYDIR="%{AMANDAHOMEDIR}/.ssh"KEYFILE="id_rsa_amrecover"COMMENT="root@client"if [ ! -d ${KEYDIR} ] ; then if [ -f ${KEYDIR} ] ; then echo "`date +'%b %e %Y %T'`: Directory '${KEYDIR}' exists as a file. Renaming to '${KEYDIR}.rpmsave'." >${TMPFILE} mv ${KEYDIR} ${KEYDIR}.rpmsave >>${TMPFILE} 2>&1 cat ${TMPFILE} cat ${TMPFILE} >>${INSTALL_LOG} fi
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -