В терминале используйте:
echo $PATH
Когда cron
работает, он не знает всех ваших путей, что позволяет вашему скрипту Python работать в терминале.
Решение состоит в том, чтобы создать скрипт bash, который вызывает скрипт python. Однако перед этим он выполняет:
PATH="new-paths:$PATH"
У вас есть несколько вариантов, и я их уже сделал:
смонтировать старый диск в какое-нибудь лучшее место (иметь sda1
не лучшее имя :дать диску имя, а не фактическое местоположение, которое может измениться ). Затем просто свяжите новое место жительства с реальным местом :ln -s /var/disks/disk_root_2017 /home
, чтобы снова получить доступ к /home, используя альтернативное местоположение. Примечание. :этот метод нельзя использовать для всех стандартных путей (системы могут использовать ../
, а ..
имеет разное значение в разных точках монтирования, по сравнению с синтаксисом bash.
просто смонтируйте диск как /home
и в конечном итоге переместите весь контент в новое место (, например. старый _корень ). Затем переместите содержимое старого дома:mv /home/home/* /home/
Обычно хорош один из двух методов. И вы можете использовать сочетание двух, например. старый home
с одним методом и, возможно, старый /usr/local
или /pub
или /var/lib/mysql
с другим методом.
Вы монтируете новый раздел /home
поверх каталога /home
. Поэтому все, что вы видите, это новый раздел. Когда вы размонтируете раздел /home
, старое дерево снова становится видимым.
Если вы хотите увидеть старое дерево каталогов /home
при монтировании нового раздела /home
, вам придется его куда-нибудь переместить, например.
umount /home
mv /home /home.old
mkdir /home
mount /home
Теперь вы можете получить доступ к старому дому через /home.old
, а новый /home
установлен в правильном месте.