Skip to content

Instantly share code, notes, and snippets.

@MBurchard
Created November 19, 2022 15:25
Show Gist options
  • Select an option

  • Save MBurchard/e166dc0c3c041c7e6f179efd88385cdb to your computer and use it in GitHub Desktop.

Select an option

Save MBurchard/e166dc0c3c041c7e6f179efd88385cdb to your computer and use it in GitHub Desktop.
snowflake-proxy service
[Unit]
Description=Snowflake
Wants=network.target
After=syslog.target network-online.target
StartLimitIntervalSec=300
StartLimitBurst=10
[Service]
Type=simple
ExecStart=/home/snowflake/snowflake/proxy/proxy -verbose
Restart=on-failure
RestartSec=5
KillMode=process
User=snowflake
Group=snowflake
StandardOutput=append:/var/log/snowflake.log
StandardError=append:/var/log/snowflake.log
[Install]
WantedBy=multi-user.target
@MBurchard
Copy link
Author

I'm confused... the user running the process is snowflake as it should be.

ps -aux | grep proxy
snowfla+    3018  1.9  0.8 1306960 66696 ?       Ssl  Nov18  39:20 /home/snowflake/snowflake/proxy/proxy -verbose

I don't understand why this process is allowed to write to the logfile...

@Byggvir
Copy link

Byggvir commented Nov 19, 2022

It's running fine with:

pi@pi1:~ $ sudo ls -l /var/log/snowflake
insgesamt 4
-rw------- 1 snowflake snowflake 3871 20. Nov 00:44 snowflake.log

I have put the installation steps into a tiny repository.

@MrColdboot
Copy link

Just came across this and figured I'd explain in case someone else does too.

When you're using the systemd StandardOutput or StandardError directives, these streams are redirected by the systemd daemon itself, which is running as root, so the snowflake proxy service doesn't need write access to the log file. When you use the command line switch, it opens the log file itself, in which case it does need write access.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment