小编le_*_*_me的帖子

如何在使用 systemd 关闭时在其他所有内容之前运行脚本?

注意:可以在底部找到简要制定的问题。

我有一个脚本可以将我的文件备份到外部 USB 驱动器上。执行它可能需要一段时间,具体取决于我创建的新数据量。我想在系统每次关闭时自动运行它。

我正在使用带有最新更新 (systemd) 的 Fedora 23。

我试图通过多种方式实现这一目标,但我无法让它发挥作用。

使用 StopExec 长时间运行的进程

自动备份服务:

[Unit]
Description=Slow backup script
Requires=local-fs.target

[Service]
ExecStart=/bin/true
ExecStop=/etc/systemd/system/do_backup.sh
Type=oneshot
RemainAfterExit=yes

[Install]
WantedBy=multiuser.target
Run Code Online (Sandbox Code Playgroud)

我用 激活它systemctl enable autobackup.service并用 启动它systemctl start autobackup.service

我的启动日志 ( journalctl -b-1) 的一部分:

Dez 22 17:45:27 localhost systemd[1]: Unmounted /mnt/BACKUP.
Dez 22 17:45:27 localhost do_backup.sh[4296]: At subvol /home/BACKUP.2015_12_22-17_45_25
Dez 22 17:45:27 localhost do_backup.sh[4296]: ERROR: parent subvol is not reachable from inside the root subvol.
Dez 22 17:45:27 localhost do_backup.sh[4296]: At …
Run Code Online (Sandbox Code Playgroud)

linux shutdown administrator systemd

21
推荐指数
2
解决办法
3万
查看次数

为什么`source ~/.aliases` 在 .zshrc 中不起作用?

user@localhost ~ % zsh --version
zsh 5.5.1 (x86_64-redhat-linux-gnu)
me@localhost ~ % lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch
Distributor ID: Fedora
Description:    Fedora release 28 (Twenty Eight)
Release:    28
Codename:   TwentyEight
Run Code Online (Sandbox Code Playgroud)

~/.zshrc:

... Details omitted ...
source ~/.aliases
cat ~/.aliases
... Details omitted ...
Run Code Online (Sandbox Code Playgroud)

命令提示符:

user@localhost ~ % zsh
alias ls='exa'
alias grep='rg'
user@localhost ~ % 
Run Code Online (Sandbox Code Playgroud)

所以~/.zshrc被执行,但别名没有任何效果。

如果我source ~/.aliases在 shell 中运行,它会起作用。

我已经尝试了几个小时而没有运气。有任何想法吗?

zsh alias

1
推荐指数
1
解决办法
876
查看次数

标签 统计

administrator ×1

alias ×1

linux ×1

shutdown ×1

systemd ×1

zsh ×1