如何在ExecStart中执行多个命令



我想使用systemd定期归档一些日志。然而,它并没有像我想要的那样工作。根据我的测试,字符串命令的第二部分失败了,我真的不知道出了什么问题。如果有人能给我点建议,我将不胜感激。谢谢。

Inside Unit File:

ExecStart=/bin/tar -zcvf "/var/log/test/$(/bin/date)_syslog_archive.tar.gz"/tmp/日志/">

得到错误:

主进程退出,代码=退出,状态=2/INVALIDARGUMENT

一个单独的脚本是一个可能的解决方案,正如Charles所写,或者您可以使用bash -csh -c运行命令,如下所示:

/bin/bash -c '/bin/tar -zcvf "/var/log/test/$(/bin/date)_syslog_archive.tar.gz" "/tmp/log/"'

作为题外话,您可能需要date命令的+参数,如date +%sdate +%Y%m%d,以便您获得适合文件名的内容,使其像这样:

/bin/bash -c '/bin/tar -zcvf "/var/log/test/$(/bin/date +%s)_syslog_archive.tar.gz" "/tmp/log/"'

相关内容

  • 没有找到相关文章

最新更新