我正在尝试构建包含
的rpm文件1 file /usr/local/stats.sh
rpm会做一件事
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规范文件正确并正常工作的任何提示!
答案 0 :(得分:6)
更容易不操作'/ 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