2013-11-24 75 views
0

我尝试建立RPM文件,其中包括构建RPM规范文件进行一个文件,并执行一个命令

1 file /usr/local/stats.sh 

转速必做的一件事

echo -e "*/5 * * * * /usr/bin/sh /usr/local/stats.sh" >> /var/spool/cron/root 

我已经与

启动
Name:   stats 
Version:  0.1 
Release:  el%{redhat_releasever}%{redhat_releasever_minor}.1 
Summary:  stats 
Source0:  %{svn_url_Systems}/%{name}.spec 
BuildArch:  noarch 
Group:   %{repo_name_Systems} 
License:  stat 
BuildRoot:  %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) 


%description 
Script 


%prep 

%setup -cT 


%build 

%{__mkdir} -p %{buildroot}/%{_sysconfdir}/ 

echo -e "*/5 * * * * /usr/bin/sh /usr/local/stats.sh " >> /var/spool/cron/root 

%changelog 

任何提示,使这个rpm spec文件正确和工作!

回答

4

更容易操作'/ var/spool/cron/root'中的crontab。改为使用/etc/cron.d目录。创建一个包含你的crontab行的文件。在这个目录中安装这个文件。 优点是,当您卸载rpm-package时,该文件将自动卸载。

所以,你只需要建立一个rpm文件来安装两个文件。

%build宏不是你需要的东西。您需要根据主机上的目标目录来安排包装。

%install 
mkdir -p %{buildroot}/usr/local 
mkdir -p %{buildroot}/etc/cron.d 

cp ...mysource/stats.sh    %{buildroot}/usr/local 
cp ...mysource/mystatstiming.cron %{buildroot}/etc/cron.d 

,那么你需要定义文件标志设置:

%files 
%defattr(755,root,root) 
/usr/local/stat.sh 

%defattr(644,root,root) 
/etc/cron.d/mystatstiming.cron 
相关问题