2013-11-24 103 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 
相關問題