tar文件没有归档

时间:2011-07-07 01:03:42

标签: linux terminal zip crontab tar

我在shell脚本中执行以下操作:

tar cvzf mytar.tgz *

从终端运行shell脚本时,它工作正常。当它使用crontab从cron作业运行shell脚本时,它看起来像是存档的,因为tgz文件在那里,但文件大小没什么,当我解开它时,那里什么都没有。但是,当我通过终端运行shell脚本时,tgz有一个更大的文件大小,我可以解压缩它们。

任何人都知道为什么它不能通过cronjob工作?

4 个答案:

答案 0 :(得分:1)

尝试指定要存档的文件的完整路径:

tar cvzf mytar.tgz /path/to/your/files/*

Cron从$ HOME的不同目录运行。

答案 1 :(得分:0)

cronjob进程的工作目录是什么?如果其中没有任何内容,则该命令将归档所有内容。

答案 2 :(得分:0)

首先,不需要在cron中详细说明。

其次,看起来你在那里使用相对路径。考虑使用绝对路径,即使对于tar命令本身也是如此。

最后,哪个用户正在运行cron?是否存在权限问题或配额问题?

答案 3 :(得分:0)

到目前为止,其他答案给出了很好的建议。 Cron在命令中允许的内容中有很多特殊规则。当我制作一个简单的shell脚本时,我取得了最大的成功,并将它放在$ HOME / cron,chmox 755中,然后在cron中放入它的完整路径。确保测试脚本 - 确保在必要时进行cd'ing。请注意,cron不仅不一定会从您的家中运行命令,而且可能会有不同的PATH,其他环境设置也将丢失。