创建涉及屏幕和 Java 的备份脚本?

创建涉及屏幕和 Java 的备份脚本?

大家好,我使用 centOS 64 位 5.7,我需要创建一个备份脚本

我想要它做什么:

  • screen -r 示例
  • 命令进入 java
  • 暂停 x 秒
  • 退出屏幕
  • 压缩/rar 文件夹,并在名称上添加时间戳(带日期),然后将其移动到其他位置
  • 是否暂停压缩过程?如果不是预定时间。
  • 屏幕-S示例java-Xmx3g-Xincgc-jar server.jar nogui

有任何想法吗?

答案1

我推测屏幕要求是为了让您能够启动备份过程然后注销。如果是这样的话,放弃它也可以达到同样的效果。

编写一个脚本来完成所有其他操作(压缩、带日期的文件名、暂停、移动等),然后在后台启动它,如下所示:

./my-backup-script.sh &

然后运行:

disown

然后您可以断开连接(或因网络问题而断开连接),脚本将继续运行。值得确保将 STDOUT 和 STDERR 重定向到文件,因为一旦您放弃该作业,这两个流将被删除。

答案2

我自己做的。无论如何,谢谢你们。

STAMP=`date +%d-%m-%Y_%H%M%S`

screen -x example -X stuff "`printf "command"`"
pause 10;
screen -x example -X stuff `printf "commandr"`
pause 10;
kill `pidof example`
tar -cvzf /directory/of/folder/I/want/backups/to/go/$STAMP-backup.tar.gz /directory/of/folder/I/want/backed/up/
screen -S example java -Xmx3g -Xincgc -jar server.jar nogui
screen -x example -X stuff `printf "save-on\r"`
screen -x example -X stuff `printf "save-all\r"

相关内容