大家好,我使用 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"