我有一个在系统唤醒时运行的唤醒脚本(Arch linux)
$ cat /usr/lib/pm-utils/sleep.d/example
#!/bin/bash
case "$1" in
resume)
echo "hey I just got resumed!"
/usr/bin/bash /home/user/bin/wakeup_script
esac
我的唤醒脚本
$ cat bin/wakeup_script
#!/bin/bash
/usr/bin/touch /home/user/testwake.txt
/usr/bin/rsync -vaz [email protected]:/home/user/downloads/test.txt /mnt/data/
/home/user/bin/mnt d
您可以看到脚本“wakeup_script”包含三个 bash 脚本。当系统唤醒时,第一个和第三个脚本运行良好,但 rsync 从未起作用,我尝试了 scp,它再次不起作用!这里出了什么问题?
当我在 shell 中执行相同的“wakeup_script”时,rsync 确实起作用,但在系统唤醒时它并没有执行!!
$ /usr/bin/bash /home/user/bin/wakeup_script
答案1
在/usr/lib/pm-utils/sleep.d/example
:
在该行之后:
#!/bin/bash
添加以下行:
sleep 15
这将为网络接口恢复后提供 15 秒的时间。