Linux 如何防止长时间运行的备份作业被终止

Linux 如何防止长时间运行的备份作业被终止,linux,memory-management,backup,tar,Linux,Memory Management,Backup,Tar,如何防止长时间运行的内存密集型基于tar的备份脚本被杀死 我有一个cron作业,每天运行一个命令,如: tar --create --verbose --preserve-permissions --gzip --file "{backup_fn}" {excludes} / 2> /var/log/backup.log 它写入外部USB驱动器。通常生成的文件是100GB,但在我升级到Ubuntu16之后,现在日志文件显示进程在整个过程中大约有25%被终止,可能是因为它消耗了大量内存和/

如何防止长时间运行的内存密集型基于tar的备份脚本被杀死

我有一个cron作业,每天运行一个命令,如:

tar --create --verbose --preserve-permissions --gzip --file "{backup_fn}" {excludes} / 2> /var/log/backup.log
它写入外部USB驱动器。通常生成的文件是100GB,但在我升级到Ubuntu16之后,现在日志文件显示进程在整个过程中大约有25%被终止,可能是因为它消耗了大量内存和/或使系统负载过大


我如何告诉内核不要终止这个进程,或者调整它,使它不会消耗太多的资源而需要终止它?

如果您确定-由于消耗太多内存而被终止,那么您可以尝试增加
/proc/sys/vm/swappiness
中的
swappiness
值。通过增加
swappiness
,您可能可以摆脱这种情况。您还可以尝试调整
oom\u kill\u分配任务
,默认值为
0
,它尝试找出占用胭脂内存的任务并终止该任务。如果将其更改为
1
oom\u killer
将终止调用任务

如果上述方法均无效,则可以在
/proc/$pid/oom\u score\u adj
下尝试
oom\u score\u adj
oom\u score\u adj
接受从
-1000
1000
的值范围。降低该值,以减少被
oom\u killer
杀死的可能性。如果将此值设置为
-1000
,则禁用oom终止。但是,你应该知道你到底在做什么


希望这能给您一些想法。

如果您确定-由于占用太多内存而被杀死,那么您可以尝试增加
/proc/sys/vm/swappiness
中的
交换性
值。通过增加
swappiness
,您可能可以摆脱这种情况。您还可以尝试调整
oom\u kill\u分配任务
,默认值为
0
,它尝试找出占用胭脂内存的任务并终止该任务。如果将其更改为
1
oom\u killer
将终止调用任务

如果上述方法均无效,则可以在
/proc/$pid/oom\u score\u adj
下尝试
oom\u score\u adj
oom\u score\u adj
接受从
-1000
1000
的值范围。降低该值,以减少被
oom\u killer
杀死的可能性。如果将此值设置为
-1000
,则禁用oom终止。但是,你应该知道你到底在做什么


希望这能给您一些想法。

您需要编辑Q以显示日志的相关部分。如果你看到的只是“焦油过程被扼杀”,而没有任何理由或其他数据,那么我们没有办法提供帮助,除了把想法扔到墙上,看看有什么坚持住了。您可能会做得更好,因为更改版本似乎是罪魁祸首。祝你好运。一个更简单的方法…使用一个外部工具,如
logrotate
为你做日志旋转-*压缩工作,并复制相应的压缩文件@Shelleter,日志上的字面意思是“被杀死”,我只见过进程消耗太多内存的情况。我在其他发行版/发行版中看到过,但这是我的备份脚本第一次以这种方式被删除。您需要编辑Q以显示日志的相关部分。如果你看到的只是“焦油过程被扼杀”,而没有任何理由或其他数据,那么我们没有办法提供帮助,除了把想法扔到墙上,看看有什么坚持住了。您可能会做得更好,因为更改版本似乎是罪魁祸首。祝你好运。一个更简单的方法…使用一个外部工具,如
logrotate
为你做日志旋转-*压缩工作,并复制相应的压缩文件@Shelleter,日志上的字面意思是“被杀死”,我只见过进程消耗太多内存的情况。我在其他发行版/发行版中也看到过,但这是我的备份脚本第一次以这种方式被删除。